public void Register_User_Without_Success() { // arrange RegisterBindingModel user = GetUser(); UserAccount userAccount = GetUserAccount(); Task <RegisterUserResult> result = GetIdentityResult(false); _accountRepositoryMock.Setup(x => x.RegisterUser(It.IsAny <UserAccount>())) .Returns(result); _automapperMock.Setup(m => m.Map <UserAccount>(user)). Returns(userAccount); var processor = new AccountProcessor( _accountRepositoryMock.Object, _profileImageStoreMock.Object, _automapperMock.Object); // act Task <IdentityResult> task = processor.RegisterUser(user); // assert // verify if the appropriate methods are called (RegisterUser, SendEmail, and StoreImage) _accountRepositoryMock.Verify(mock => mock.RegisterUser(It.IsAny <UserAccount>()), Times.Once()); _accountRepositoryMock.Verify(mock => mock.SendEmailAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never()); _profileImageStoreMock.Verify(mock => mock.StoreImage(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); }
public void GetRequestedAccount_TooManyAccountsReturned_ThrowsException() { //Arrange int requestedAccountNumber = 1126; // (mock data) List <Account> expectedList = new List <Account>(); Account expectedAccount = new Account(1126) { Balance = 1111.11, Type = "Checking" }; expectedList.Add(expectedAccount); expectedList.Add(expectedAccount); // important to add the same thing twice // (mock behaviour) var mockDataAccessLayer = new Mock <IDataAccessLayer>(); mockDataAccessLayer.Setup(dal => dal.GetAccountByNumber(It.IsAny <int>())).Returns(expectedList); // (piece under test) var processorUnderTest = new AccountProcessor(mockDataAccessLayer.Object); //Act & Assert Assert.Throws <DuplicateAccountNumberException>(() => processorUnderTest.GetRequestedAccount(requestedAccountNumber), "Multiple records with same account number were returned."); }
public void GetRequestedAccount_AccountFound() { //Arrange // (set up mock data) List <Account> expectedList = new List <Account>(); Account expectedAccount = new Account(1126) { Balance = 1111.11, Type = "Checking" }; expectedList.Add(expectedAccount); // (create mock object and define its behaviour) var mockDataAccessLayer = new Mock <IDataAccessLayer>(); mockDataAccessLayer.Setup(dal => dal.GetAccountByNumber(It.IsAny <int>())).Returns(expectedList); // (create the REAL object that is under test) var processorUnderTest = new AccountProcessor(mockDataAccessLayer.Object); // NOTE: This is where we pass in the MOCKED data access layer object //Act Account actualAccount = processorUnderTest.GetRequestedAccount(expectedAccount.Number); // NOTE: The method we're testing //mockDataAccessLayer.Verify(x => x.GetAccountByNumber(expectedAccount.Number)); // TODO: Figure out the purpose of this code //Assert Assert.AreEqual(expectedAccount.Number, actualAccount.Number); Assert.AreEqual(expectedAccount.Balance, actualAccount.Balance); Assert.AreEqual(expectedAccount.Type, actualAccount.Type); }
public EntityListController(AccountProcessor accountProcessor, TransactionProcessor transactionProcessor, DatafeedProcessor datafeedProcessor, GoalProcessor goalProcessor) { _accountProcessor = accountProcessor; _transactionProcessor = transactionProcessor; _datafeedProcessor = datafeedProcessor; _goalProcessor = goalProcessor; }
public int Login(Account account) { if (account == null) { return(0); } return(AccountProcessor.LoginAccount(account)); }
public bool RegisterAccount(Account account) { if (account == null) { return(false); } return(AccountProcessor.RegisterAccount(account)); }
public void Initializer() { IKernel kernel = new StandardKernel(); // Processor kernel.Bind <IAccountProcessor>().To <AccountProcessor>(); // Repository kernel.Bind <IAccountRepository>().To <AccountRepository>(); _processor = kernel.Get <AccountProcessor>(); }
public void GetRequestedAccount_AccountNotFound() { //Arrange // (mock data) List <Account> expectedList = null; int requestedAccountNumber = 1126; // (mock behaviour) var mockDataAccessLayer = new Mock <IDataAccessLayer>(); mockDataAccessLayer.Setup(dal => dal.GetAccountByNumber(It.IsAny <int>())).Returns(expectedList); // (piece under test) var processorUnderTest = new AccountProcessor(mockDataAccessLayer.Object); //Act Account actualAccount = processorUnderTest.GetRequestedAccount(requestedAccountNumber); //Assert Assert.IsNull(actualAccount); }
public async Task <ActionResult> Login(LoginServiceUser model) { ServiceUser user = await _context.ServiceUsers.SingleOrDefaultAsync(u => u.EmailAddress.Equals(model.Email.Trim(), StringComparison.InvariantCultureIgnoreCase)); if (user == null) { ModelState.AddModelError("Email", "Email not found! Please register for an account first."); } if (ModelState.IsValid) { if (AccountProcessor.VerifyPassword(model.Password, user.Password)) { Session["userid"] = user.UserId.ToString(); Session["role"] = user.UserRole; Session["username"] = user.UserName; return(RedirectToAction("Details", new { id = user.UserId })); } else { return(HttpNotFound("Password does not match!")); } } return(View(model)); }
public AccountController(IConfiguration configuration) { AccountProcessor = new AccountProcessor(configuration); }
public AccountController(AccountProcessor accountProcessor) { _accountProcessor = accountProcessor; }