public async Task ThenTheResponseIsMappedCorrectly()
        {
            //Arrange
            var request = new GetPendingApprenticeshipUpdateRequest
            {
                Caller = new Caller {
                    CallerType = CallerType.Employer, Id = 888
                }
            };

            //Act.
            var result = await _handler.Handle(request);

            //Assert
            Assert.AreEqual(_testRecord.Id, result.Data.Id);
            Assert.AreEqual(_testRecord.ApprenticeshipId, result.Data.ApprenticeshipId);
            Assert.AreEqual(_testRecord.Originator, (Originator)result.Data.Originator);
            Assert.AreEqual(_testRecord.FirstName, result.Data.FirstName);
            Assert.AreEqual(_testRecord.LastName, result.Data.LastName);
            Assert.AreEqual(_testRecord.DateOfBirth, result.Data.DateOfBirth);
            Assert.AreEqual(_testRecord.TrainingType, (TrainingType?)result.Data.TrainingType);
            Assert.AreEqual(_testRecord.TrainingCode, result.Data.TrainingCode);
            Assert.AreEqual(_testRecord.TrainingName, result.Data.TrainingName);
            Assert.AreEqual(_testRecord.Cost, result.Data.Cost);
            Assert.AreEqual(_testRecord.StartDate, result.Data.StartDate);
            Assert.AreEqual(_testRecord.EndDate, result.Data.EndDate);
        }
コード例 #2
0
        public void ThenIfApprenticeshipIdIsGreaterThanZeroThenIsValid(long id, bool isValid)
        {
            //Arrange
            var request = new GetPendingApprenticeshipUpdateRequest
            {
                ApprenticeshipId = id
            };

            //Act
            var result = _validator.Validate(request);

            //Assert
            Assert.AreEqual(isValid, result.IsValid);
        }
        public void ThenIfTheCallerIdIsNotAuthorizedThenExceptionIsThrown()
        {
            //Arrange
            var request = new GetPendingApprenticeshipUpdateRequest
            {
                Caller = new Caller {
                    CallerType = CallerType.Employer, Id = 123
                }
            };

            //Act && Assert
            Func <Task> act = async() => await _handler.Handle(request);

            act.ShouldThrow <UnauthorizedException>();
        }
        public void ThenIfTheRequestIsInvalidThenAValidationExceptionIsThrown()
        {
            //Arrange
            _validator.Setup(x => x.Validate(It.IsAny <GetPendingApprenticeshipUpdateRequest>()))
            .Returns(() =>
                     new ValidationResult(new List <ValidationFailure>
            {
                new ValidationFailure("Error", "Error Message")
            }));

            var request = new GetPendingApprenticeshipUpdateRequest();
            //Act && Assert
            Func <Task> act = async() => await _handler.Handle(request);

            act.ShouldThrow <ValidationException>();
        }
        public async Task ThenTheRequestIsValidated()
        {
            //Arrange
            var request = new GetPendingApprenticeshipUpdateRequest
            {
                Caller = new Caller {
                    CallerType = CallerType.Employer, Id = 888
                }
            };

            //Act
            await _handler.Handle(request);

            //Assert
            _validator.Verify(x => x.Validate(It.IsAny <GetPendingApprenticeshipUpdateRequest>()), Times.Once);
        }
        public async Task ThenTheRepositoryIsCalledToRetrieveData()
        {
            //Arrange
            var request = new GetPendingApprenticeshipUpdateRequest
            {
                Caller = new Caller {
                    CallerType = CallerType.Employer, Id = 888
                }
            };

            //Act
            await _handler.Handle(request);

            //Assert
            _apprenticeshipUpdateRepository.Verify(x => x.GetPendingApprenticeshipUpdate(It.IsAny <long>()), Times.Once);
        }