public async Task ValidatePinAsync_PinIsCorrect_NoErrors() { var response = new PinCodeEntity(); response.SetPassword(ValidPIN); _customerCredentialsRepoMock.Setup(x => x.GetPinByCustomerIdAsync(FakeCustomerId)) .ReturnsAsync(response); var sut = CreateSutInstance(); var result = await sut.ValidatePinAsync(FakeCustomerId, ValidPIN); Assert.Equal(PinCodeErrorCodes.None, result); }
public async Task ValidatePinAsync_PinDoesNotMatch_PinCodeMismatchErrorReturned() { var response = new PinCodeEntity(); response.SetPassword(ValidPIN); _customerCredentialsRepoMock.Setup(x => x.GetPinByCustomerIdAsync(FakeCustomerId)) .ReturnsAsync(response); var sut = CreateSutInstance(); var result = await sut.ValidatePinAsync(FakeCustomerId, InvalidPin); Assert.Equal(PinCodeErrorCodes.PinCodeMismatch, result); }
public async Task SetPinAsync(string customerId, string pinCode) { using (var context = _contextFactory.CreateDataContext()) { var entity = await context.CustomerCredentials .Include(c => c.PinCode) .FirstOrDefaultAsync(c => c.CustomerId == customerId); entity.PinCode = PinCodeEntity.Create(customerId, pinCode); context.Update(entity); await context.SaveChangesAsync(); } }