[test] more tests & refactoring & ci