public virtual async Task <ActionResult> Index(SentOnCreateSiteViewModel viewModel, bool?noJavascriptCopy) { if (NoJavascriptCopy(noJavascriptCopy)) { CopySiteAddressToOperatorAddress(viewModel); } else { if (ModelState.IsValid) { using (var client = apiClient()) { var request = requestCreator.ViewModelToRequest(viewModel); var result = await client.SendAsync(User.GetAccessToken(), request); return(AatfRedirect.ObligatedSentOn(viewModel.SiteAddressData.Name, viewModel.OrganisationId, viewModel.AatfId, viewModel.ReturnId, result)); } } } using (var client = apiClient()) { viewModel.SiteAddressData.Countries = await client.SendAsync(User.GetAccessToken(), new GetCountries(false)); viewModel.OperatorAddressData.Countries = await client.SendAsync(User.GetAccessToken(), new GetCountries(false)); } await SetBreadcrumb(viewModel.OrganisationId, BreadCrumbConstant.AatfReturn, viewModel.AatfId, DisplayHelper.YearQuarterPeriodFormat(TempData["currentQuarter"] as Quarter, TempData["currentQuarterWindow"] as QuarterWindow)); return(View(viewModel)); }
private void CopySiteAddressToOperatorAddress(SentOnCreateSiteViewModel viewModel) { viewModel.OperatorAddressData.Address1 = viewModel.SiteAddressData.Address1; viewModel.OperatorAddressData.Address2 = viewModel.SiteAddressData.Address2; viewModel.OperatorAddressData.TownOrCity = viewModel.SiteAddressData.TownOrCity; viewModel.OperatorAddressData.CountyOrRegion = viewModel.SiteAddressData.CountyOrRegion; viewModel.OperatorAddressData.Postcode = viewModel.SiteAddressData.Postcode; viewModel.OperatorAddressData.CountryId = viewModel.SiteAddressData.CountryId; viewModel.OperatorAddressData.CountryName = viewModel.SiteAddressData.CountryName; ModelState.Clear(); }
public async void IndexPost_GivenNoJavascriptCopyIsFalseOrNull_SentOnAatfSiteShouldBeSent(bool javascript) { var model = new SentOnCreateSiteViewModel { SiteAddressData = new AatfAddressData("TEST", "TEST", "TEST", "TEST", "TEST", "TEST", Guid.NewGuid(), "TEST") }; await controller.Index(model, javascript); A.CallTo(() => requestCreator.ViewModelToRequest(model)).MustHaveHappened(Repeated.Exactly.Once); }
public async void IndexPost_GivenInvalidViewModel_ApiShouldNotBeCalled() { controller.ModelState.AddModelError("error", "error"); var model = new SentOnCreateSiteViewModel { SiteAddressData = new AatfAddressData("TEST", "TEST", "TEST", "TEST", "TEST", "TEST", Guid.NewGuid(), "TEST"), OperatorAddressData = new OperatorAddressData("TEST", "TEST", "TEST", "TEST", "TEST", "TEST", Guid.NewGuid(), "TEST") }; await controller.Index(model, null); A.CallTo(() => apiClient.SendAsync(A <string> ._, A <AddSentOnAatfSite> ._)).MustNotHaveHappened(); }
public void ViewModelToRequest_GivenValidViewModelSetToEdit_RequestShouldBeOfTypeEditSentOnAatfSite() { var viewModel = new SentOnCreateSiteViewModel() { WeeeSentOnId = Guid.NewGuid(), SiteAddressData = A.Fake <AatfAddressData>(), OperatorAddressData = A.Fake <OperatorAddressData>(), }; var request = requestCreator.ViewModelToRequest(viewModel); request.Should().BeOfType(typeof(EditSentOnAatfSite)); }
public async void IndexPost_GivenValidViewModel_ApiSendShouldBeCalled() { var model = new SentOnCreateSiteViewModel { SiteAddressData = new AatfAddressData("TEST", "TEST", "TEST", "TEST", "TEST", "TEST", Guid.NewGuid(), "TEST") }; var request = new AddSentOnAatfSite(); A.CallTo(() => requestCreator.ViewModelToRequest(model)).Returns(request); await controller.Index(model, null); A.CallTo(() => apiClient.SendAsync(A <string> ._, request)).MustHaveHappened(Repeated.Exactly.Once); }
public void ViewModelToRequest_GivenValidViewModel_PropertiesShouldBeMapped() { var viewModel = new SentOnCreateSiteViewModel() { AatfId = Guid.NewGuid(), OrganisationId = Guid.NewGuid(), ReturnId = Guid.NewGuid(), SiteAddressData = A.Fake <AatfAddressData>() }; var request = requestCreator.ViewModelToRequest(viewModel) as AddSentOnAatfSite; request.AatfId.Should().Be(viewModel.AatfId); request.OrganisationId.Should().Be(viewModel.OrganisationId); request.ReturnId.Should().Be(viewModel.ReturnId); request.SiteAddressData.Should().Be(viewModel.SiteAddressData); }
public async void IndexPost_GivenNoJavascriptCopyIsTrue_SideAddressShouldBeMappedToOperatorAddress() { var model = new SentOnCreateSiteViewModel { SiteAddressData = new AatfAddressData("TEST", "TEST", "TEST", "TEST", "TEST", "TEST", Guid.NewGuid(), "TEST"), OperatorAddressData = new OperatorAddressData() }; var result = await controller.Index(model, true) as ViewResult; var resultModel = result.Model as SentOnCreateSiteViewModel; resultModel.OperatorAddressData.Address1.Should().Be(model.SiteAddressData.Address1); resultModel.OperatorAddressData.Address2.Should().Be(model.SiteAddressData.Address2); resultModel.OperatorAddressData.TownOrCity.Should().Be(model.SiteAddressData.TownOrCity); resultModel.OperatorAddressData.CountyOrRegion.Should().Be(model.SiteAddressData.CountyOrRegion); resultModel.OperatorAddressData.CountryName.Should().Be(model.SiteAddressData.CountryName); resultModel.OperatorAddressData.Postcode.Should().Be(model.SiteAddressData.Postcode); }
public SentOnAatfSite ViewModelToRequest(SentOnCreateSiteViewModel viewModel) { if (viewModel.Edit) { return(new EditSentOnAatfSite() { SiteAddressData = viewModel.SiteAddressData, WeeeSentOnId = (Guid)viewModel.WeeeSentOnId, OperatorAddressData = viewModel.OperatorAddressData, }); } var aatfSite = new AddSentOnAatfSite() { OrganisationId = viewModel.OrganisationId, ReturnId = viewModel.ReturnId, AatfId = viewModel.AatfId, SiteAddressData = viewModel.SiteAddressData, OperatorAddressData = viewModel.OperatorAddressData }; return(aatfSite); }