use XCTestExpectation for async test result