public static void SetupEachTest() { // Before each test execution we reinitialize fake DAL and businessLogic // so tests won't conflict between themselves fakeDataAccessLayer = Substitute.For <TestedMethod.IDataAccessLayer>(); businessLogic = new TestedMethod.BusinessLogic(fakeDataAccessLayer); innovator = ItemHelper.CreateInnovator(); fakeDataAccessLayer.NewItem(Arg.Any <string>(), Arg.Any <string>()) .Returns(@params => ItemHelper.CreateItem((string)@params[0], (string)@params[1])); fakeDataAccessLayer.NewResult(Arg.Any <string>()) .Returns(@params => innovator.newResult((string)@params[0])); // We use applyProcessor List to store fake AML responces applyProcessor = InitializeApplyProcessor(); fakeDataAccessLayer.ApplyItem(Arg.Any <Item>()) .Returns(@params => { Item paramItem = (Item)@params[0]; foreach (Func <Item, Item> processor in applyProcessor) { Item result = processor(paramItem); if (result != null) { return(result); } } return(null); }); }
public static void SetupEachTest() { fakeDataAccessLayer = Substitute.For <TestedMethod.IDataAccessLayer>(); innovator = ItemHelper.CreateInnovator(); fakeDataAccessLayer = Substitute.For <TestedMethod.IDataAccessLayer>(); fakeDataAccessLayer.NewItem(Arg.Any <string>(), Arg.Any <string>()) .Returns(@params => ItemHelper.CreateItem((string)@params[0], (string)@params[1])); fakeDataAccessLayer.NewError(Arg.Any <string>()) .Returns(@params => innovator.newError((string)@params[0])); }
public static void CheckThatInnovatorServerExceptionThrownWhenContextItemIsEmpty() { const string expectedExceptionMessage = "login_name is not defined"; TestedMethod.BusinessLogic businessLogic = new TestedMethod.BusinessLogic(fakeDataAccessLayer); Innovator innovator = ItemHelper.CreateInnovator(); Item contextItem = innovator.newItem(); InnovatorServerException exception = Assert.Throws <InnovatorServerException>(() => businessLogic.Run(contextItem)); Assert.AreEqual(expectedExceptionMessage, exception.Message); string amlOfContextItem = @"<AML> <Item type='User'> <login_name></login_name> </Item> </AML>" ; contextItem.loadAML(amlOfContextItem); exception = Assert.Throws <InnovatorServerException>(() => businessLogic.Run(contextItem)); Assert.AreEqual(expectedExceptionMessage, exception.Message); }