public void it_should_create_and_update_a_new_entity_if_one_does_not_exist_with_the_specified_id()
        {
            const int    expectedId   = 1;
            const string expectedName = "Name";
            var          licence      = new Licence
            {
                Id = expectedId,
                NamedIndividuals = new List <NamedIndividual>()
            };
            var model = new FullNameViewModel
            {
                FullName = expectedName
            };

            licenceRepository.GetById(expectedId).Returns(licence);
            repository.Create <NamedIndividual>().Returns(new NamedIndividual {
                Id = expectedId
            });
            repository.Upsert(Arg.Any <NamedIndividual>()).Returns(expectedId);

            var pdh    = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider);
            var result = pdh.Update(expectedId, l => l.NamedIndividuals, model, expectedId);

            Assert.AreEqual(expectedId, result);
            repository.Received(1).Upsert(Arg.Is <NamedIndividual>(a => a.Id == expectedId && a.FullName.Equals(expectedName)));
        }
        public void it_should_create_and_update_a_new_entity_with_an_address_if_one_does_not_exist_with_the_specified_id_and_it_is_addressable()
        {
            const int    expectedId   = 1;
            const string expectedName = "Name";
            var          licence      = new Licence
            {
                Id = expectedId,
                DirectorOrPartners = new List <DirectorOrPartner>()
            };
            var model = new FullNameViewModel
            {
                FullName = expectedName
            };

            licenceRepository.GetById(expectedId).Returns(licence);
            repository.Create <DirectorOrPartner>().Returns(new DirectorOrPartner {
                Id = expectedId
            });
            repository.Create <Address>().Returns(new Address {
                Id = expectedId
            });
            repository.Upsert(Arg.Any <DirectorOrPartner>()).Returns(expectedId);

            var pdh    = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider);
            var result = pdh.Update(expectedId, l => l.DirectorOrPartners, model, expectedId);

            Assert.AreEqual(expectedId, result);
            repository.Received(1).Create <Address>();
            repository.Received(1).Upsert(Arg.Is <DirectorOrPartner>(a => a.Id == expectedId && a.FullName.Equals(expectedName) && a.Address.Id == expectedId));
        }
Пример #3
0
    public void FullName_ReturnsARedirectToActionResult_WithValidFullName_ToCheckAnswers()
    {
        // Arrange
        var mockRepo    = new Mock <IHomeApplicationRepository>();
        var httpContext = new DefaultHttpContext();
        var tempData    = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>());

        tempData["CheckAnswers"] = 1;

        var controller = new HomeController(mockRepo.Object);

        controller.TempData = tempData;

        // Act
        var viewModel = new FullNameViewModel
        {
            FullName = "Jo"
        };

        var result = controller.FullName(viewModel);

        // Assert
        Assert.AreEqual(
            ((RedirectToActionResult)result).ActionName,
            "CheckAnswers");
    }
        public void it_should_update_an_entity_in_a_collection_by_its_id()
        {
            const int    expectedId   = 1;
            const string expectedName = "Name";
            var          licence      = new Licence
            {
                Id = expectedId,
                NamedIndividuals = new List <NamedIndividual>
                {
                    new NamedIndividual
                    {
                        Id       = expectedId,
                        FullName = string.Empty
                    }
                }
            };
            var model = new FullNameViewModel
            {
                FullName = expectedName
            };

            licenceRepository.GetById(expectedId).Returns(licence);
            repository.Upsert(Arg.Any <NamedIndividual>()).Returns(expectedId);

            var pdh    = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider);
            var result = pdh.Update(expectedId, l => l.NamedIndividuals, model, expectedId);

            Assert.AreEqual(expectedId, result);
            repository.Received(1).Upsert(Arg.Is <NamedIndividual>(a => a.Id == expectedId && a.FullName.Equals(expectedName)));
        }
Пример #5
0
    public void TestFullName_ReturnsAViewResult_ForFullNameError_WithModelStateError()
    {
        // Arrange
        var mockRepo    = new Mock <IHomeApplicationRepository>();
        var httpContext = new DefaultHttpContext();
        var tempData    = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>());

        tempData["CheckAnswers"] = 0;

        var controller = new HomeController(mockRepo.Object);

        controller.TempData = tempData;
        controller.ModelState.AddModelError("error", "error");

        // Act
        var viewModel = new FullNameViewModel
        {
            FullName = "Jo"
        };

        var result = controller.FullName(viewModel);

        // Assert
        Assert.AreEqual(
            ((ViewResult)result).ViewName, "FullNameError");
    }
Пример #6
0
        public void it_creates_and_updates_a_new_director_if_one_does_not_exist()
        {
            const int    licenceId    = 1;
            const int    paId         = 2;
            const int    dopId        = 3;
            const string expectedName = "Name";
            var          licence      = new Licence
            {
                Id = licenceId,
                DirectorOrPartners = new List <DirectorOrPartner>()
            };
            var model = new FullNameViewModel {
                FullName = expectedName
            };

            licenceRepository.GetById(licenceId).Returns(licence);
            repository.GetById <PrincipalAuthority>(paId).Returns(new PrincipalAuthority {
                Id = paId
            });
            repository.Create <DirectorOrPartner>().Returns(new DirectorOrPartner {
                Id = dopId
            });
            repository.Upsert(Arg.Any <DirectorOrPartner>()).Returns(dopId);

            var pdh    = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider);
            var result = pdh.UpsertDirectorOrPartnerAndLinkToPrincipalAuthority(licenceId, paId, dopId, model);

            Assert.AreEqual(dopId, result);
            repository.Received(1).Upsert(Arg.Is <DirectorOrPartner>(p => p.FullName.Equals(expectedName) && p.PrincipalAuthority.Id == paId && p.Licence.Id == licenceId));
            repository.Received(1).Create <DirectorOrPartner>();
            repository.Received(1).GetById <PrincipalAuthority>(paId);
        }
Пример #7
0
 public NamedIndividualViewModel()
 {
     FullName                       = new FullNameViewModel();
     DateOfBirth                    = new DateOfBirthViewModel();
     BusinessPhoneNumber            = new BusinessPhoneNumberViewModel();
     BusinessExtension              = new BusinessExtensionViewModel();
     RightToWorkViewModel           = new RightToWorkViewModel();
     UndischargedBankruptViewModel  = new UndischargedBankruptViewModel();
     DisqualifiedDirectorViewModel  = new DisqualifiedDirectorViewModel();
     RestraintOrdersViewModel       = new RestraintOrdersViewModel();
     UnspentConvictionsViewModel    = new UnspentConvictionsViewModel();
     OffencesAwaitingTrialViewModel = new OffencesAwaitingTrialViewModel();
     PreviousLicenceViewModel       = new PreviousLicenceViewModel();
 }
Пример #8
0
        public IActionResult FullName([Bind("FullName")] FullNameViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                TempData["FullName"] = viewModel.FullName;

                _redirectToCheckAnswers = (int)TempData["CheckAnswers"];

                if (_redirectToCheckAnswers == 1)
                {
                    return(RedirectToAction("CheckAnswers"));
                }

                return(RedirectToAction("Email"));
            }

            return(View("FullNameError", viewModel));
        }
Пример #9
0
        public void it_updates_a_principal_authority_and_creates_a_link_to_the_director()
        {
            const int    licenceId    = 1;
            const int    paId         = 2;
            const int    dopId        = 3;
            const string expectedName = "Name";
            var          licence      = new Licence
            {
                Id = licenceId,
                PrincipalAuthorities = new List <PrincipalAuthority>
                {
                    new PrincipalAuthority
                    {
                        Id = paId,
                        DirectorOrPartner = null
                    }
                }
            };
            var model = new FullNameViewModel {
                FullName = expectedName
            };

            licenceRepository.GetById(licenceId).Returns(licence);
            repository.GetById <DirectorOrPartner>(dopId).Returns(new DirectorOrPartner {
                Id = dopId
            });
            repository.Upsert(Arg.Any <PrincipalAuthority>()).Returns(paId);

            var pdh    = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider);
            var result = pdh.UpsertPrincipalAuthorityAndLinkToDirectorOrPartner(licenceId, dopId, paId, model);

            Assert.AreEqual(paId, result);
            repository.Received(1).Upsert(Arg.Is <PrincipalAuthority>(p => p.FullName.Equals(expectedName) && p.DirectorOrPartner.Id == dopId));
            repository.Received(0).Create <PrincipalAuthority>();
            repository.Received(1).GetById <DirectorOrPartner>(dopId);
        }
 public IActionResult SaveFullName(FullNameViewModel model)
 {
     return(PrincipalAuthorityPost(model, 4));
 }
 public IActionResult SaveFullName(FullNameViewModel model)
 {
     return(DirectorOrPartnerPost(model, 2));
 }
Пример #12
0
 public IActionResult SaveFullName(FullNameViewModel model)
 {
     return(AlternativeBusinessRepresentativePost(model, 1));
 }
Пример #13
0
 public IActionResult SaveFullName(FullNameViewModel model)
 {
     return(NamedIndividualPost(model, 1));
 }