コード例 #1
0
        public async void OnActionExecuting_GivenReturnStatusIsCreatedAndQuarterWindowForReturnIsClosed_ContextResultReturnsErrorPage()
        {
            var returnStatusData = new ReturnStatusData()
            {
                OrganisationId = Guid.NewGuid(),
                ReturnStatus   = ReturnStatus.Created
            };

            SystemTime.Freeze(new DateTime(2019, 04, 01));

            var returnData = new ReturnData()
            {
                QuarterWindow = QuarterWindowTestHelper.GetDefaultQuarterWindow()
            };

            A.CallTo(() => client.SendAsync(A <string> ._,
                                            A <GetReturnStatus> .That.Matches(r => r.ReturnId.Equals((Guid)context.RouteData.Values["returnId"])))).Returns(returnStatusData);

            A.CallTo(() => client.SendAsync(A <string> ._,
                                            A <GetReturn> .That.Matches(r => r.ReturnId.Equals((Guid)context.RouteData.Values["returnId"])))).Returns(returnData);

            await attribute.OnAuthorizationAsync(context, (Guid)context.RouteData.Values["returnId"]);

            SystemTime.Unfreeze();

            RedirectResult result = context.Result as RedirectResult;

            Assert.Equal("~/errors/QuarterClosed", result.Url);
        }
コード例 #2
0
        public async void OnActionExecuting_GivenNoOtherReturnIsInProgress_ContextResultShouldBeNull()
        {
            var returnData = new ReturnStatusData()
            {
                OrganisationId        = Guid.NewGuid(),
                ReturnStatus          = ReturnStatus.Submitted,
                OtherInProgressReturn = false
            };

            A.CallTo(() => client.SendAsync(A <string> ._,
                                            A <GetReturnStatus> .That.Matches(r => r.ReturnId.Equals((Guid)context.RouteData.Values["returnId"])))).Returns(returnData);

            await attribute.OnAuthorizationAsync(context, (Guid)context.RouteData.Values["returnId"]);

            context.Result.Should().BeNull();
        }
コード例 #3
0
        public async void OnActionExecuting_GivenAnotherReturnIsInProgress_ShouldBeRedirectedToTaskList()
        {
            var returnData = new ReturnStatusData()
            {
                OrganisationId        = Guid.NewGuid(),
                ReturnStatus          = ReturnStatus.Submitted,
                OtherInProgressReturn = true
            };

            A.CallTo(() => client.SendAsync(A <string> ._,
                                            A <GetReturnStatus> .That.Matches(r => r.ReturnId.Equals((Guid)context.RouteData.Values["returnId"])))).Returns(returnData);

            await attribute.OnAuthorizationAsync(context, (Guid)context.RouteData.Values["returnId"]);

            var result = context.Result as RedirectToRouteResult;

            result.RouteName.Should().Be(AatfRedirect.ReturnsRouteName);
            result.RouteValues["controller"].Should().Be("Returns");
            result.RouteValues["action"].Should().Be("Index");
            result.RouteValues["organisationId"].Should().Be(returnData.OrganisationId);
        }