public async void IndexPost_OnSubmit_PageRedirectsToSiteList() { var httpContext = new HttpContextMocker(); httpContext.AttachToController(controller); var organisationId = Guid.NewGuid(); var returnId = Guid.NewGuid(); var aatfId = Guid.NewGuid(); var viewModel = new ReusedOffSiteCreateSiteViewModel { OrganisationId = organisationId, ReturnId = returnId, AatfId = aatfId, }; httpContext.RouteData.Values.Add("organisationId", organisationId); httpContext.RouteData.Values.Add("returnId", returnId); httpContext.RouteData.Values.Add("aatfId", aatfId); var result = await controller.Index(viewModel) as RedirectToRouteResult; result.RouteValues["action"].Should().Be("Index"); result.RouteValues["controller"].Should().Be("ReusedOffSiteSummaryList"); result.RouteValues["organisationId"].Should().Be(organisationId); result.RouteValues["returnId"].Should().Be(returnId); result.RouteValues["aatfId"].Should().Be(aatfId); }
public void ViewModelToRequest_GivenAddViewModel_RequestTypeShouldBeAdd() { var model = new ReusedOffSiteCreateSiteViewModel(); var request = requestCreator.ViewModelToRequest(model); request.Should().BeOfType <AddAatfSite>(); }
public void Edit_GivenSiteIdHasNoValue_FalseShouldBeReturned() { var model = new ReusedOffSiteCreateSiteViewModel() { SiteId = null }; model.Edit.Should().BeFalse(); }
public void Edit_GivenSiteIdHasValue_TrueShouldBeReturned() { var model = new ReusedOffSiteCreateSiteViewModel() { SiteId = Guid.NewGuid() }; model.Edit.Should().BeTrue(); }
public async void IndexGet_GivenActionAndParameters_ReusedOffSiteCreateSiteViewModelShouldBeReturned() { var model = new ReusedOffSiteCreateSiteViewModel(); A.CallTo(() => mapper.Map(A <SiteAddressDataToReusedOffSiteCreateSiteViewModelMapTransfer> ._)).Returns(model); var result = await controller.Index(A.Dummy <Guid>(), A.Dummy <Guid>(), A.Dummy <Guid>(), A.Dummy <Guid>()) as ViewResult; Assert.Equal(result.Model, model); }
public void ViewModelToRequest_GivenEditViewModel_RequestTypeShouldBeEdit() { var model = new ReusedOffSiteCreateSiteViewModel { SiteId = Guid.NewGuid(), AddressData = { Id = Guid.NewGuid() } }; var request = requestCreator.ViewModelToRequest(model); request.Should().BeOfType <EditAatfSite>(); }
public async void IndexPost_GivenValidViewModel_ApiSendShouldBeCalled() { var model = new ReusedOffSiteCreateSiteViewModel(); var request = new AddAatfSite(); A.CallTo(() => requestCreator.ViewModelToRequest(model)).Returns(request); await controller.Index(model); A.CallTo(() => weeeClient.SendAsync(A <string> ._, request)).MustHaveHappened(Repeated.Exactly.Once); }
public void ViewModelToRequest_GivenEditViewModel_CategoryValuesShouldBeMapped() { var viewModel = new ReusedOffSiteCreateSiteViewModel { SiteId = Guid.NewGuid() }; var request = requestCreator.ViewModelToRequest(viewModel) as EditAatfSite; request.AddressData.Should().Be(viewModel.AddressData); }
public async void IndexPost_GivenInvalidViewModel_ApiShouldBeCalled() { var model = new ReusedOffSiteCreateSiteViewModel() { AddressData = new SiteAddressData() }; controller.ModelState.AddModelError("error", "error"); await controller.Index(model); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetCountries> ._)).MustHaveHappened(Repeated.Exactly.Once); }
public void ViewModelToRequest_GivenValidViewModel_PropertiesShouldBeMapped() { var viewModel = new ReusedOffSiteCreateSiteViewModel() { AatfId = Guid.NewGuid(), OrganisationId = Guid.NewGuid(), ReturnId = Guid.NewGuid(), AddressData = A.Fake <SiteAddressData>(), }; var request = requestCreator.ViewModelToRequest(viewModel) as AddAatfSite; request.AatfId.Should().Be(viewModel.AatfId); request.OrganisationId.Should().Be(viewModel.OrganisationId); request.ReturnId.Should().Be(viewModel.ReturnId); request.AddressData.Should().Be(viewModel.AddressData); }
public AatfSite ViewModelToRequest(ReusedOffSiteCreateSiteViewModel viewModel) { if (viewModel.Edit) { return(new EditAatfSite() { AddressData = viewModel.AddressData }); } return(new AddAatfSite() { OrganisationId = viewModel.OrganisationId, ReturnId = viewModel.ReturnId, AatfId = viewModel.AatfId, AddressData = viewModel.AddressData }); }
public async void IndexPost_GivenInvalidViewModel_BreadcrumbShouldBeSet() { var organisationId = Guid.NewGuid(); const string orgName = "orgName"; var model = new ReusedOffSiteCreateSiteViewModel() { OrganisationId = organisationId, AddressData = new SiteAddressData() }; controller.ModelState.AddModelError("error", "error"); A.CallTo(() => cache.FetchOrganisationName(organisationId)).Returns(orgName); await controller.Index(model); breadcrumb.ExternalActivity.Should().Be(BreadCrumbConstant.AatfReturn); breadcrumb.ExternalOrganisation.Should().Be(orgName); breadcrumb.OrganisationId.Should().Be(organisationId); }
private async Task <ActionResult> AatfSitePostAction(ReusedOffSiteCreateSiteViewModel viewModel) { if (ModelState.IsValid) { using (var client = apiClient()) { var request = requestCreator.ViewModelToRequest(viewModel); await client.SendAsync(User.GetAccessToken(), request); return(AatfRedirect.ReusedOffSiteSummaryList(viewModel.ReturnId, viewModel.AatfId, viewModel.OrganisationId)); } } using (var client = apiClient()) { viewModel.AddressData.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)); }
public virtual async Task <ActionResult> Index(ReusedOffSiteCreateSiteViewModel viewModel) { return(await AatfSitePostAction(viewModel)); }