コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
            }
        }