public void AddToBag_SingleInputBaggedItem_ReturnsOutputBaggedItem() { // ARRANGE // // Substitutes var userRep = Substitute.For <IUserRepository>(); var itemRep = Substitute.For <IItemRepository>(); var baggedItemRep = Substitute.For <IBaggedItemRepository>(); // Substitutes behavior baggedItemRep.AddToBag(1, 1, Arg.Any <IBaggedItem>()).Returns(CreateBaggedItem(1)); itemRep.GetById(1).Returns(CreateItem(1)); // BaggedItem Service var baggedItemService = new BaggedItemService(baggedItemRep, userRep, itemRep); // Expectation var expected = CreateOutputDtoAddBaggedItem(1); // ACT // var outputBaggedItem = baggedItemService.AddToBag(1, 1, CreateInputDtoAddItemToBag(1)); // ASSERT // Assert.AreEqual(expected, outputBaggedItem); }
public void AddToBag_SingleInputBaggedItem_ThrowsException() { // ARRANGE // // Substitutes var userRep = Substitute.For <IUserRepository>(); var itemRep = Substitute.For <IItemRepository>(); var baggedItemRep = Substitute.For <IBaggedItemRepository>(); // Substitutes behavior baggedItemRep .AddToBag(1, 1, Arg.Any <IBaggedItem>()) .Returns(x => { throw new DuplicateSqlPrimaryException("message"); }); // BaggedItem Service var baggedItemService = new BaggedItemService(baggedItemRep, userRep, itemRep); // ASSERT // Assert.Throws <DuplicateSqlPrimaryException>(() => baggedItemService.AddToBag(1, 1, CreateInputDtoAddItemToBag(1))); }