Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adam-zethraeus/cec809202ae8925ed6bb5ec7c9f4655b to your computer and use it in GitHub Desktop.
Save adam-zethraeus/cec809202ae8925ed6bb5ec7c9f4655b to your computer and use it in GitHub Desktop.
func test_PasswordCanNotContainUsername() {
let mockPasswordCollectorLauncher = MockPasswordCollectorLauncher()
let mockListener = MockOnboardingManagerListener()
let onboardingManager = BadOnboardingManager(passwordCollectorLauncher: mockPasswordCollectorLauncher)
onboardingManager.listener = mockListener
onboardingManager.start()
// TODO: assert the username collector launches now.
onboardingManager.usernameCollectorReturned(username: "ValidUsername")
// TODO: assert the email collector launches now.
onboardingManager.emailCollectorReturned(email: "valid@example.com")
// TODO: assert the phone number collector launches now.
XCTAssertEqual(mockPasswordCollectorLauncher.launchCallCount, 0)
onboardingManager.phoneNumberCollectorReturned(number: "+11235554321")
XCTAssertEqual(mockPasswordCollectorLauncher.launchCallCount, 1)
XCTAssertEqual(mockPasswordCollectorLauncher.existingPasswordIssueValues.last, nil)
onboardingManager.passwordCollectorReturned(password: "ValidUsername$123")
XCTAssertEqual(mockPasswordCollectorLauncher.launchCallCount, 2)
XCTAssertEqual(mockPasswordCollectorLauncher.existingPasswordIssueValues.last, PasswordIssue.containsUsername)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment