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); }
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(); }
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); }