public void Run_WithIsPostBackTrueAndHasResultTrueAndResultProcessorReturnsFalse_CallsAlertWithMessage() { // Arrange var result = new ID().ToString(); var item = MasterFakesFactory.CreateFakeItem(); var args = Substitute.For <ClientPipelineArgs>(); args.Parameters = new NameValueCollection { { "items", item.Uri.ToString() } }; args.IsPostBack = true; args.Result = result; string message; var expectedAlert = "This is the expected alert message!"; var sheer = Substitute.For <ISheerResponse>(); sheer.CheckModified().Returns(true); var contextChecker = Substitute.For <ICommandContextChecker>(); var locator = Substitute.For <IDialogLocator>(); var processor = Substitute.For <IDialogResultProcessor>(); processor.ProcessResult(Arg.Any <Item>(), Arg.Any <string>(), out message) .Returns(false) .AndDoes(ci => ci[2] = expectedAlert); var command = new SelectBaseLayout(sheer, contextChecker, locator, processor); // Act command.Run(args); // Assert sheer.Received().Alert(expectedAlert); }
public void Run_WithIsPostBackTrueAndHasResultTrue_CallsDialogResultProcessor() { // Arrange var result = new ID().ToString(); var item = MasterFakesFactory.CreateFakeItem(); var args = Substitute.For <ClientPipelineArgs>(); args.Parameters = new NameValueCollection { { "items", item.Uri.ToString() } }; args.IsPostBack = true; args.Result = result; var sheer = Substitute.For <ISheerResponse>(); sheer.CheckModified().Returns(true); var contextChecker = Substitute.For <ICommandContextChecker>(); var locator = Substitute.For <IDialogLocator>(); var processor = Substitute.For <IDialogResultProcessor>(); var command = new SelectBaseLayout(sheer, contextChecker, locator, processor); // Act command.Run(args); // Assert string message; processor.Received().ProcessResult(Arg.Is <Item>(i => i.ID == item.ID), result, out message); }
Run_WithIsPostBackFalseAndDialogLocatorReturnsValue_CallsShowModalDialogWithReturnedValueAndCallsWaitForPostBack () { // Arrange var item = MasterFakesFactory.CreateFakeItem(); var args = Substitute.For <ClientPipelineArgs>(); args.Parameters = new NameValueCollection { { "items", item.Uri.ToString() } }; args.IsPostBack = false; var sheer = Substitute.For <ISheerResponse>(); sheer.CheckModified().Returns(true); var contextChecker = Substitute.For <ICommandContextChecker>(); var url = "/This/is/my/dialog/url"; var locator = Substitute.For <IDialogLocator>(); locator.GetDialogUrl(Arg.Any <Item>()).Returns(url); var processor = Substitute.For <IDialogResultProcessor>(); var command = new SelectBaseLayout(sheer, contextChecker, locator, processor); // Act command.Run(args); // Assert sheer.Received().ShowModalDialog(url); args.Received().WaitForPostBack(); }
public void Run_WithIsPostBackFalseAndDialogLocatorReturnsNull_CallsAlertButNotShowModalDialog() { // Arrange var item = MasterFakesFactory.CreateFakeItem(); var args = Substitute.For <ClientPipelineArgs>(); args.Parameters = new NameValueCollection { { "items", item.Uri.ToString() } }; args.IsPostBack = false; var sheer = Substitute.For <ISheerResponse>(); sheer.CheckModified().Returns(true); var contextChecker = Substitute.For <ICommandContextChecker>(); var locator = Substitute.For <IDialogLocator>(); locator.GetDialogUrl(Arg.Any <Item>()).Returns((string)null); var processor = Substitute.For <IDialogResultProcessor>(); var command = new SelectBaseLayout(sheer, contextChecker, locator, processor); // Act command.Run(args); // Assert sheer.Received().Alert(Arg.Any <string>()); sheer.DidNotReceive().ShowModalDialog(Arg.Any <string>()); }
public void Run_WithIsPostBackFalse_CallsDialogLocatorWithItemFromPipelineArgs() { // Arrange var item = MasterFakesFactory.CreateFakeItem(); var args = Substitute.For <ClientPipelineArgs>(); args.Parameters = new NameValueCollection { { "items", item.Uri.ToString() } }; args.IsPostBack = false; var sheer = Substitute.For <ISheerResponse>(); sheer.CheckModified().Returns(true); var contextChecker = Substitute.For <ICommandContextChecker>(); var locator = Substitute.For <IDialogLocator>(); var processor = Substitute.For <IDialogResultProcessor>(); var command = new SelectBaseLayout(sheer, contextChecker, locator, processor); // Act command.Run(args); // Assert locator.Received().GetDialogUrl(Arg.Is <Item>(i => i.ID == item.ID)); }
public void Run_WhenCheckModifiedReturnsFalse_DoesNotDoAnything() { // Arrange var args = Substitute.For <ClientPipelineArgs>(); var sheer = Substitute.For <ISheerResponse>(); sheer.CheckModified().Returns(false); var contextChecker = Substitute.For <ICommandContextChecker>(); var locator = Substitute.For <IDialogLocator>(); var processor = Substitute.For <IDialogResultProcessor>(); var command = new SelectBaseLayout(sheer, contextChecker, locator, processor); // Act command.Run(args); // Assert sheer.DidNotReceive().Alert(Arg.Any <string>()); sheer.DidNotReceive().ShowModalDialog(Arg.Any <string>()); locator.DidNotReceive().GetDialogUrl(Arg.Any <Item>()); string message; processor.DidNotReceive().ProcessResult(Arg.Any <Item>(), Arg.Any <string>(), out message); }