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 GetByUserId_SingleNumber_ReturnsOutputDtoQueryUserBaggedItem() { // ARRANGE // // Substitutes var userRep = Substitute.For <IUserRepository>(); var itemRep = Substitute.For <IItemRepository>(); var baggedItemRep = Substitute.For <IBaggedItemRepository>(); // Substitutes behavior baggedItemRep.GetByUserId(1).Returns(CreateListOfBaggedItems(2)); userRep.GetById(1).Returns(CreateUser(1)); // BaggedItem service var baggedItemService = new BaggedItemService(baggedItemRep, userRep, itemRep); // Expectation var expected = CreateOutputDtoQueryUserBaggedItem(1, 2); // ACT // var outputBaggedItems = baggedItemService.GetByUserId(1); // ASSERT // Assert.AreEqual(expected, outputBaggedItems); }
public void UpdateQuantity_ReturnsIsUpdated(bool isUpdatedFromRepo) { // ARRANGE // // Substitutes var userRep = Substitute.For <IUserRepository>(); var itemRep = Substitute.For <IItemRepository>(); var baggedItemRep = Substitute.For <IBaggedItemRepository>(); // Substitutes behavior baggedItemRep.UpdateQuantity(1, Arg.Any <IBaggedItem>()).Returns(isUpdatedFromRepo); // BaggedItem Service var baggedItemService = new BaggedItemService(baggedItemRep, userRep, itemRep); // ACT // var output = baggedItemService.UpdateQuantity(1, CreateInputDtoUpdateBaggedItem(1)); // ASSERT // Assert.AreEqual(isUpdatedFromRepo, output); }
public void DeleteItem_ReturnsIsDeleted(bool isDeletedFromRepo) { // ARRANGE // // Substitutes var userRep = Substitute.For <IUserRepository>(); var itemRep = Substitute.For <IItemRepository>(); var baggedItemRep = Substitute.For <IBaggedItemRepository>(); // Substitutes behavior baggedItemRep.DeleteItem(1).Returns(isDeletedFromRepo); // BaggedItem Service var baggedItemService = new BaggedItemService(baggedItemRep, userRep, itemRep); // ACT // var output = baggedItemService.DeleteItem(1); // ASSERT // Assert.AreEqual(isDeletedFromRepo, output); }
public void EmptyBag_ReturnsRowsAffected(int rows) { // ARRANGE // // Substitutes var userRep = Substitute.For <IUserRepository>(); var itemRep = Substitute.For <IItemRepository>(); var baggedItemRep = Substitute.For <IBaggedItemRepository>(); // Substitutes behavior baggedItemRep.EmptyBag(1).Returns(rows); // BaggedItem Service var baggedItemService = new BaggedItemService(baggedItemRep, userRep, itemRep); // ACT // var output = baggedItemService.EmptyBag(1); // ASSERT // Assert.AreEqual(rows, output); }
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))); }