public async void IndexPost_GivenSelectedValueIsYes_RemoveAatfSiteIsCalled()
        {
            var viewModel = new ReusedRemoveSiteViewModel()
            {
                SelectedValue = "Yes",
                SiteId        = Guid.NewGuid()
            };

            await controller.Index(viewModel);

            A.CallTo(() => apiClient.SendAsync(A <string> ._, A <RemoveAatfSite> .That.Matches(r => r.SiteId == viewModel.SiteId))).MustHaveHappened(Repeated.Exactly.Once);
        }
        public async void IndexPost_GivenInvalidViewModel_BreadcrumbShouldBeSet()
        {
            var          organisationId = Guid.NewGuid();
            const string orgName        = "orgName";

            A.CallTo(() => cache.FetchOrganisationName(organisationId)).Returns(orgName);

            controller.ModelState.AddModelError("error", "error");
            var viewModel = new ReusedRemoveSiteViewModel()
            {
                OrganisationId = organisationId
            };

            await controller.Index(viewModel);

            breadcrumb.ExternalActivity.Should().Be(BreadCrumbConstant.AatfReturn);
            breadcrumb.ExternalOrganisation.Should().Be(orgName);
            breadcrumb.OrganisationId.Should().Be(organisationId);
        }
예제 #3
0
        public virtual async Task <ActionResult> Index(ReusedRemoveSiteViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                using (var client = apiClient())
                {
                    if (viewModel.SelectedValue == "Yes")
                    {
                        await client.SendAsync(User.GetAccessToken(), new RemoveAatfSite(viewModel.SiteId));
                    }

                    return(await Task.Run <ActionResult>(() =>
                                                         RedirectToAction("Index", "ReusedOffSiteSummaryList", new { area = "AatfReturn", organisationId = viewModel.OrganisationId, returnId = viewModel.ReturnId, aatfId = viewModel.AatfId })));
                }
            }
            await SetBreadcrumb(viewModel.OrganisationId, BreadCrumbConstant.AatfReturn, viewModel.AatfId, DisplayHelper.YearQuarterPeriodFormat(TempData["currentQuarter"] as Quarter, TempData["currentQuarterWindow"] as QuarterWindow));

            return(View(viewModel));
        }
        public async void IndexPost_GivenSelectedValueIsNo_RedirectToActionIsCalled()
        {
            var returnId       = new Guid();
            var organisationId = new Guid();
            var aatfId         = new Guid();
            var model          = new ReusedRemoveSiteViewModel()
            {
                ReturnId       = returnId,
                OrganisationId = organisationId,
                AatfId         = aatfId
            };
            var result = await controller.Index(model) as RedirectToRouteResult;

            result.RouteValues["action"].Should().Be("Index");
            result.RouteValues["controller"].Should().Be("ReusedOffSiteSummaryList");
            result.RouteValues["area"].Should().Be("AatfReturn");
            result.RouteValues["returnId"].Should().Be(returnId);
            result.RouteValues["organisationId"].Should().Be(organisationId);
            result.RouteValues["aatfId"].Should().Be(aatfId);
        }
        public async void IndexGet_GivenValidViewModel_ViewResultIsReturnedCorrectly()
        {
            var organisationId = Guid.NewGuid();
            var returnId       = Guid.NewGuid();
            var aatfId         = Guid.NewGuid();
            var siteId         = Guid.NewGuid();

            var siteAddressData = new SiteAddressData("TEST", "TEST", "TEST", "TEST", "TEST", "TEST", Guid.NewGuid(), "TEST")
            {
                Id = siteId
            };
            var addressTonnage = new AddressTonnageSummary()
            {
                AddressData = new List <SiteAddressData>()
                {
                    siteAddressData
                }
            };

            var viewModel = new ReusedRemoveSiteViewModel()
            {
                OrganisationId = organisationId,
                ReturnId       = returnId,
                AatfId         = aatfId,
                SiteAddress    = controller.GenerateAddress(siteAddressData),
                SiteId         = siteAddressData.Id,
                Site           = siteAddressData
            };

            A.CallTo(() => apiClient.SendAsync(A <string> ._, A <GetAatfSite> .That.Matches(w => w.AatfId == aatfId && w.ReturnId == returnId))).Returns(addressTonnage);
            A.CallTo(() => mapper.Map(A <ReturnAndAatfToReusedRemoveSiteViewModelMapTransfer> ._)).Returns(viewModel);

            var result = await controller.Index(organisationId, returnId, aatfId, siteId) as ViewResult;

            result.Model.Should().BeEquivalentTo(viewModel);
        }
 public ReusedRemoveSiteViewModelTests()
 {
     model = new ReusedRemoveSiteViewModel();
 }