public void Process_WithNewBaseLayoutItemNull_SetsFieldValueToEmptyString() { // Arrange var args = new SaveBaseLayoutArgs(MasterFakesFactory.CreateFakeItem()); var processor = new SaveNewBaseLayout(); // Act processor.Process(args); // Assert Assert.Equal(string.Empty, args.Item.InnerItem.Fields[BaseLayoutItem.BaseLayoutFieldId].Value); }
public void Process_WithNewBaseLayoutItemNull_SetsSuccessfulTrue() { // Arrange var args = new SaveBaseLayoutArgs(MasterFakesFactory.CreateFakeItem()); var processor = new SaveNewBaseLayout(); // Act processor.Process(args); // Assert Assert.True(args.Successful); }
public void Process_WithNewBaseLayoutItemNull_DoesNotCallValidator() { // Arrange var item = MasterFakesFactory.CreateFakeItem(); var args = new SaveBaseLayoutArgs(item); var validator = Substitute.For <IBaseLayoutValidator>(); var processor = new CheckForVersioningConflict(validator); // Act processor.Process(args); // Assert validator.DidNotReceive().CreatesVersioningConflict(Arg.Any <Item>(), Arg.Any <Item>()); }
public void Process_WithNewBaseLayoutItemNotNull_SetsFieldValueToIdString() { // Arrange var item = MasterFakesFactory.CreateFakeItem(); var item2 = MasterFakesFactory.CreateFakeItem(); var args = new SaveBaseLayoutArgs(item) { NewBaseLayoutItem = item2 }; var processor = new SaveNewBaseLayout(); // Act processor.Process(args); // Assert Assert.Equal(item2.ID.ToString(), args.Item.InnerItem.Fields[BaseLayoutItem.BaseLayoutFieldId].Value); }
public void Process_WhenValidatorReturnsFalse_DoesNotAbortPipeline() { // Arrange var item = MasterFakesFactory.CreateFakeItem(); var item2 = MasterFakesFactory.CreateFakeItem(); var args = new SaveBaseLayoutArgs(item) { NewBaseLayoutItem = item2 }; var validator = Substitute.For <IBaseLayoutValidator>(); validator.CreatesVersioningConflict(Arg.Any <Item>(), Arg.Any <Item>()).Returns(false); var processor = new CheckForVersioningConflict(validator); // Act processor.Process(args); // Assert Assert.False(args.Aborted); }
public void Process_WhenValidatorReturnsTrue_SetsSuccessfulFalseAndAbortsPipeline() { // Arrange var item = MasterFakesFactory.CreateFakeItem(); var item2 = MasterFakesFactory.CreateFakeItem(); var args = new SaveBaseLayoutArgs(item) { NewBaseLayoutItem = item2 }; var validator = Substitute.For <IBaseLayoutValidator>(); validator.CreatesCircularBaseLayoutReference(Arg.Any <Item>(), Arg.Any <Item>()).Returns(true); var processor = new CheckForCircularReference(validator); // Act processor.Process(args); // Assert Assert.False(args.Successful); Assert.True(args.Aborted); }
public bool ProcessResult(Item item, string result, out string errorMessage) { errorMessage = string.Empty; ShortID sid; if (!ShortID.TryParse(result, out sid)) { errorMessage = "Could not get the ID of the selected base layout."; return(false); } var itemId = sid.ToID(); Item baseLayoutItem = null; if (itemId != ID.Null) { baseLayoutItem = item.Database.GetItem(itemId); if (baseLayoutItem == null) { errorMessage = "The selected base layout item was not found."; return(false); } } var args = new SaveBaseLayoutArgs(item) { NewBaseLayoutItem = baseLayoutItem }; _pipelineRunner.Run(args); if (!string.IsNullOrEmpty(args.Message)) { errorMessage = args.Message; } return(args.Successful); }