/// <summary> /// Parameterized Constructor /// </summary> public RegistrationApplicationService(IIdentityAccessPersistenceRepository persistenceRepository, IPasswordEncryptionService passwordEncryptionService, IActivationKeyGenerationService activationKeyGenerationService , IEmailService emailService, ITierRepository tierRepository, IUserRepository userRepository) { _persistenceRepository = persistenceRepository; _passwordEncryptionService = passwordEncryptionService; _activationKeyGenerationService = activationKeyGenerationService; _emailService = emailService; _tierRepository = tierRepository; _userRepository = userRepository; }
public void CreateAccount_IfAccountIsCreatedSuccessfully_AllTierLevelsShouldBeAssignedAndAreNonVerified() { IRegistrationApplicationService registrationService = (IRegistrationApplicationService)_applicationContext["RegistrationApplicationService"]; IUserRepository userRepository = (IUserRepository)_applicationContext["UserRepository"]; ITierRepository tierRepository = (ITierRepository)_applicationContext["TierRepository"]; ManualResetEvent manualResetEvent = new ManualResetEvent(false); string activationKey = registrationService.CreateAccount(new SignupUserCommand( "*****@*****.**", "Bob", "iamnotalice", "Wonderland", TimeZone.CurrentTimeZone, "")); // Wait for the email to be sent manualResetEvent.WaitOne(5000); User receivedUser = userRepository.GetUserByUserName("Bob"); Assert.NotNull(receivedUser); IList <Tier> tiers = tierRepository.GetAllTierLevels(); for (int i = 0; i < tiers.Count; i++) { Assert.AreEqual(receivedUser.GetTierLevelStatus(tiers[i]), Status.NonVerified.ToString()); } }