Ejemplo n.º 1
0
        public async Task <ActionResult> AddOrAmendMembers(Guid pcsId, PCSFileUploadViewModel model)
        {
            if (!ModelState.IsValid)
            {
                if (Request.IsAjaxRequest())
                {
                    return(new HttpStatusCodeResult(500));
                }
                else
                {
                    await SetBreadcrumb(pcsId, ManageMembersActivity);

                    return(View(model));
                }
            }

            Guid validationId;

            using (var client = apiClient())
            {
                model.PcsId = pcsId;
                var request = mapper.Map <PCSFileUploadViewModel, ProcessXmlFile>(model);
                validationId = await client.SendAsync(User.GetAccessToken(), request);
            }

            if (Request.IsAjaxRequest())
            {
                return(Json(validationId));
            }
            else
            {
                return(RedirectToAction("ViewErrorsAndWarnings", "MemberRegistration",
                                        new { area = "Scheme", memberUploadId = validationId }));
            }
        }
Ejemplo n.º 2
0
        public async void PostUpload_WithDataReturnWithErrors_RedirectsToReview()
        {
            // Arrange
            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <ProcessDataReturnXmlFile> ._))
            .Returns(new Guid("06FFB265-46D3-4CE3-805A-A81F1B11622A"));

            DataReturnError error = new DataReturnError("Test Error");

            DataReturnForSubmission dataReturnForSubmission = new DataReturnForSubmission(
                new Guid("06FFB265-46D3-4CE3-805A-A81F1B11622A"),
                new Guid("DDE08793-D655-4CDD-A87A-083307C1AA66"),
                2015,
                QuarterType.Q4,
                A.Dummy <IReadOnlyCollection <DataReturnWarning> >(),
                new List <DataReturnError>()
            {
                error
            },
                false);

            A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <FetchDataReturnForSubmission> ._))
            .WhenArgumentsMatch(args => args.Get <FetchDataReturnForSubmission>("request").DataReturnUploadId == new Guid("06FFB265-46D3-4CE3-805A-A81F1B11622A"))
            .Returns(dataReturnForSubmission);

            DataReturnsController controller = GetDummyDataReturnsController(weeeClient);

            PCSFileUploadViewModel viewModel = new PCSFileUploadViewModel();

            var controllerContext = A.Fake <HttpContextBase>();

            controller.ControllerContext = new ControllerContext(controllerContext, new RouteData(), controller);
            var request = A.Fake <HttpRequestBase>();

            A.CallTo(() => controllerContext.Request).Returns(request);

            // Act
            ActionResult result = await controller.Upload(new Guid("DDE08793-D655-4CDD-A87A-083307C1AA66"), viewModel);

            // Assert
            Assert.IsAssignableFrom <RedirectToRouteResult>(result);
            RedirectToRouteResult redirectToRouteResult = result as RedirectToRouteResult;

            Assert.Equal("Review", redirectToRouteResult.RouteValues["action"]);
            Assert.Equal(new Guid("DDE08793-D655-4CDD-A87A-083307C1AA66"), redirectToRouteResult.RouteValues["pcsId"]);
            Assert.Equal(new Guid("06FFB265-46D3-4CE3-805A-A81F1B11622A"), redirectToRouteResult.RouteValues["dataReturnUploadId"]);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> Upload(Guid pcsId, PCSFileUploadViewModel model)
        {
            if (!ModelState.IsValid)
            {
                if (Request.IsAjaxRequest())
                {
                    return(new HttpStatusCodeResult(500));
                }
                else
                {
                    await SetBreadcrumb(pcsId);

                    return(View(model));
                }
            }

            Guid dataReturnUploadId;

            using (var client = apiClient())
            {
                model.PcsId = pcsId;
                var request = mapper.Map <PCSFileUploadViewModel, ProcessDataReturnXmlFile>(model);
                dataReturnUploadId = await client.SendAsync(User.GetAccessToken(), request);
            }

            if (Request.IsAjaxRequest())
            {
                return(Json(dataReturnUploadId));
            }
            else
            {
                DataReturnForSubmission dataReturn = await FetchDataReturnUpload(pcsId, dataReturnUploadId);

                if (dataReturn.Errors.Count == 0)
                {
                    return(RedirectToAction("Submit", new { pcsId = pcsId, dataReturnUploadId = dataReturnUploadId }));
                }
                else
                {
                    return(RedirectToAction("Review", new { pcsId = pcsId, dataReturnUploadId = dataReturnUploadId }));
                }
            }
        }
        public async Task<ActionResult> AddOrAmendMembers(Guid pcsId, PCSFileUploadViewModel model)
        {
            if (!ModelState.IsValid)
            {
                if (Request.IsAjaxRequest())
                {
                    return new HttpStatusCodeResult(500);
                }
                else
                {
                    await SetBreadcrumb(pcsId, ManageMembersActivity);
                    return View(model);
                }
            }

            Guid validationId;

            using (var client = apiClient())
            {
                model.PcsId = pcsId;
                var request = mapper.Map<PCSFileUploadViewModel, ProcessXmlFile>(model);
                validationId = await client.SendAsync(User.GetAccessToken(), request);
            }

            if (Request.IsAjaxRequest())
            {
                return Json(validationId);
            }
            else
            {
                return RedirectToAction("ViewErrorsAndWarnings", "MemberRegistration",
                    new { area = "Scheme", memberUploadId = validationId });
            }
        }
        public async Task<ActionResult> Upload(Guid pcsId, PCSFileUploadViewModel model)
        {
            if (!ModelState.IsValid)
            {
                if (Request.IsAjaxRequest())
                {
                    return new HttpStatusCodeResult(500);
                }
                else
                {
                    await SetBreadcrumb(pcsId);
                    return View(model);
                }
            }

            Guid dataReturnUploadId;
            using (var client = apiClient())
            {
                model.PcsId = pcsId;
                var request = mapper.Map<PCSFileUploadViewModel, ProcessDataReturnXmlFile>(model);
                dataReturnUploadId = await client.SendAsync(User.GetAccessToken(), request);
            }

            if (Request.IsAjaxRequest())
            {
                return Json(dataReturnUploadId);
            }
            else
            {
                DataReturnForSubmission dataReturn = await FetchDataReturnUpload(pcsId, dataReturnUploadId);
                if (dataReturn.Errors.Count == 0)
                {
                    return RedirectToAction("Submit", new { pcsId = pcsId, dataReturnUploadId = dataReturnUploadId });
                }
                else
                {
                    return RedirectToAction("Review", new { pcsId = pcsId, dataReturnUploadId = dataReturnUploadId });
                }
            }
        }
        public async void PostUpload_WithDataReturnWithErrors_RedirectsToReview()
        {
            // Arrange   
            A.CallTo(() => weeeClient.SendAsync(A<string>._, A<ProcessDataReturnXmlFile>._))
                .Returns(new Guid("06FFB265-46D3-4CE3-805A-A81F1B11622A"));

            DataReturnError error = new DataReturnError("Test Error");

            DataReturnForSubmission dataReturnForSubmission = new DataReturnForSubmission(
                new Guid("06FFB265-46D3-4CE3-805A-A81F1B11622A"),
                new Guid("DDE08793-D655-4CDD-A87A-083307C1AA66"),
                2015,
                QuarterType.Q4,
                A.Dummy<IReadOnlyCollection<DataReturnWarning>>(),
                new List<DataReturnError>() { error },
                false);

            A.CallTo(() => weeeClient.SendAsync(A<string>._, A<FetchDataReturnForSubmission>._))
                .WhenArgumentsMatch(args => args.Get<FetchDataReturnForSubmission>("request").DataReturnUploadId == new Guid("06FFB265-46D3-4CE3-805A-A81F1B11622A"))
                .Returns(dataReturnForSubmission);

            DataReturnsController controller = GetDummyDataReturnsController(weeeClient);

            PCSFileUploadViewModel viewModel = new PCSFileUploadViewModel();

            var controllerContext = A.Fake<HttpContextBase>();
            controller.ControllerContext = new ControllerContext(controllerContext, new RouteData(), controller);
            var request = A.Fake<HttpRequestBase>();
            A.CallTo(() => controllerContext.Request).Returns(request);

            // Act
            ActionResult result = await controller.Upload(new Guid("DDE08793-D655-4CDD-A87A-083307C1AA66"), viewModel);

            // Assert
            Assert.IsAssignableFrom<RedirectToRouteResult>(result);
            RedirectToRouteResult redirectToRouteResult = result as RedirectToRouteResult;

            Assert.Equal("Review", redirectToRouteResult.RouteValues["action"]);
            Assert.Equal(new Guid("DDE08793-D655-4CDD-A87A-083307C1AA66"), redirectToRouteResult.RouteValues["pcsId"]);
            Assert.Equal(new Guid("06FFB265-46D3-4CE3-805A-A81F1B11622A"), redirectToRouteResult.RouteValues["dataReturnUploadId"]);
        }