public void Should_Redirect_To_Login_Page_When_Not_Logged_In() { var innerBehavior = Substitute.For<IActionBehavior>(); var outputWriter = Substitute.For<IOutputWriter>(); var authorizationService = Substitute.For<IAuthorizationService>(); authorizationService.IsLoggedIn.Returns(false); authorizationService.IsAuthorized.Returns(false); var authorizationBehavior = new AuthorizationBehavior(authorizationService, outputWriter, innerBehavior); authorizationBehavior.Invoke(); innerBehavior.DidNotReceive().Invoke(); outputWriter.Received().RedirectToUrl("/login"); }
public void Should_Invoke_The_Inner_Behavior_When_Logged_In_And_Authorized() { var innerBehavior = Substitute.For<IActionBehavior>(); var outputWriter = Substitute.For<IOutputWriter>(); var authorizationService = Substitute.For<IAuthorizationService>(); authorizationService.IsLoggedIn.Returns(true); authorizationService.IsAuthorized.Returns(true); var authorizationBehavior = new AuthorizationBehavior(authorizationService, outputWriter, innerBehavior); authorizationBehavior.Invoke(); innerBehavior.Received().Invoke(); outputWriter.DidNotReceiveWithAnyArgs().RedirectToUrl(null); }