public IActionResult TaskList() { Session.SetCurrentUserIsAdmin(false); Session.ClearCurrentPaStatus(); Session.ClearCurrentAbrId(); Session.ClearCurrentDopStatus(); var licenceId = Session.GetCurrentLicenceId(); var model = LicenceApplicationViewModelBuilder.Build <LicenceApplicationViewModel>(licenceId); if (licenceId == 0) { Session.SetCurrentLicenceId(LicenceApplicationPostDataHandler.Insert(model)); } //TODO: It's feasible we could access this page with no licenceId where the model will be null //TODO: how should we handle this model.Declaration?.Validate(); model.OrganisationDetails?.Validate(); model.PrincipalAuthority?.Validate(); model.AlternativeBusinessRepresentatives?.Validate(); model.DirectorOrPartner?.Validate(); model.NamedIndividuals?.Validate(); model.Organisation?.Validate(); return(View(model)); }
public void it_should_not_create_a_new_status_if_one_is_not_present_in_the_model() { const int expectedId = 1; var licence = new Licence { Id = 1 }; repository.Create <Licence>().Returns(licence); repository.Create <Address>().Returns(new Address()); repository.Upsert(Arg.Any <Licence>()).ReturnsForAnyArgs(1); repository.GetById <Licence>(expectedId).Returns(licence); var pdh = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider); var result = pdh.Insert(new LicenceApplicationViewModel()); Assert.AreEqual(expectedId, result); repository.DidNotReceive().Create <LicenceStatusChange>(); repository.DidNotReceive().Upsert(Arg.Any <LicenceStatusChange>()); }
public void it_should_set_a_draft_URN_for_the_new_licence() { const int expectedId = 1; const string expectedUrn = "DRAFT-0001"; var licence = new Licence { Id = 1 }; repository.Create <Licence>().Returns(licence); repository.Create <Address>().Returns(new Address()); repository.Upsert(Arg.Any <Licence>()).ReturnsForAnyArgs(1); repository.GetById <Licence>(expectedId).Returns(licence); var pdh = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider); var result = pdh.Insert(new LicenceApplicationViewModel()); Assert.AreEqual(expectedId, result); repository.Received().Upsert(Arg.Is <Licence>(l => l.ApplicationId == expectedUrn)); }
public void it_should_create_new_licence_and_address_entities_and_return_the_licence_id() { const int expectedId = 1; var licence = new Licence { Id = 1 }; repository.Create <Licence>().Returns(licence); repository.Create <Address>().Returns(new Address()); repository.Upsert(Arg.Any <Licence>()).ReturnsForAnyArgs(1); repository.GetById <Licence>(expectedId).Returns(licence); var pdh = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider); var result = pdh.Insert(new LicenceApplicationViewModel()); Assert.AreEqual(expectedId, result); repository.Received().Create <Licence>(); repository.Received().Create <Address>(); }
public void it_should_create_a_new_status_if_one_is_present_in_the_model() { var consts = new ConstantService(); var model = new LicenceApplicationViewModel { NewLicenceStatus = new LicenceStatusViewModel { Id = consts.NewApplicationStatusId } }; const int expectedId = 1; var licence = new Licence { Id = 1 }; var status = new LicenceStatus { Id = 100 }; repository.Create <Licence>().Returns(licence); repository.Create <Address>().Returns(new Address()); repository.Create <LicenceStatusChange>().Returns(new LicenceStatusChange()); repository.Upsert(Arg.Any <Licence>()).ReturnsForAnyArgs(1); repository.GetById <Licence>(expectedId).Returns(licence); repository.GetById <LicenceStatus>(100).Returns(status); dateTimeProvider.Now().Returns(DateTime.MinValue); var pdh = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider); var result = pdh.Insert(model); Assert.AreEqual(expectedId, result); repository.Received(1).Upsert(Arg.Is <LicenceStatusChange>(c => c.Status.Id == consts.NewApplicationStatusId && c.DateCreated == DateTime.MinValue)); }