コード例 #1
0
        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);
        }
コード例 #2
0
        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)));
        }