コード例 #1
0
        public void Only_One_Item_Should_Get_Added_To_Basket()
        {
            var basket = new ApplicationCore.Basket.Domain.Basket(Guid.NewGuid(), 12345);

            basket.AddItem(1, 5M);
            Assert.Equal(1, basket.Items.First(i => i.CatalogItemId == 1).Quantity);
        }
コード例 #2
0
        public void Item_Should_Added_To_Basket_When_Add_To_Basket()
        {
            var basket = new ApplicationCore.Basket.Domain.Basket(Guid.NewGuid(), 12345);

            basket.AddItem(1, 5.0M, 1);
            Assert.Single(basket.Items);
        }
コード例 #3
0
        public void BasketCreatedEvent_Should_Raised_When_Basket_Created()
        {
            var basket   = new ApplicationCore.Basket.Domain.Basket(Guid.NewGuid(), 12345);
            var eventObj = basket.UnCommittedEvents.FirstOrDefault();

            Assert.Single(basket.UnCommittedEvents);
            Assert.Equal("BasketCreatedEvent", eventObj.GetType().Name);
        }
コード例 #4
0
        public void Keep_The_Item_Price_Same_When_The_More_Same_Items_Added()
        {
            var basket = new ApplicationCore.Basket.Domain.Basket(Guid.NewGuid(), 12345);

            basket.AddItem(1, 5M, 1);
            basket.AddItem(1, 5M, 1);
            Assert.Equal(5M, basket.Items.First(i => i.CatalogItemId == 1).UnitPrice);
        }
コード例 #5
0
        public void Item_Quantity_Should_Get_Updated_When_Added_Existing_Item()
        {
            var basket = new ApplicationCore.Basket.Domain.Basket(Guid.NewGuid(), 12345);

            basket.AddItem(1, 5.0M, 1);
            basket.AddItem(1, 5.0M, 1);
            Assert.Equal(1, basket.Items.Count);
            Assert.Equal(2, basket.Items.First(i => i.CatalogItemId == 1).Quantity);
        }