コード例 #1
0
        public void AddMoreUnitsForTheSameSku()
        {
            var checkout = new Checkout();

            checkout.AddUnit(_testSkuId, _testNumberOfUnits);
            checkout.AddUnit(_testSkuId, _testNumberOfUnits);

            var firstUnit = checkout.Units.Single();

            Assert.Equal(_testSkuId, firstUnit.SkuId);
            Assert.Equal(_testNumberOfUnits * 2, firstUnit.NumberOfUnits);
        }
コード例 #2
0
        public async Task <int> AddUnits(Checkout checkout, int skuId, int numberOfUnits = 1)
        {
            Guard.Against.NegativeOrZero(numberOfUnits, nameof(numberOfUnits));
            var totalUnits = checkout.AddUnit(skuId, numberOfUnits);
            await _checkoutRepository.UpdateAsync(checkout);

            return(totalUnits);
        }
コード例 #3
0
        public void AddNewUnit()
        {
            var checkout = new Checkout();
            int numberOfUnitsReturned = checkout.AddUnit(_testSkuId, _testNumberOfUnits);

            var firstUnit = checkout.Units.Single();

            Assert.Equal(_testSkuId, firstUnit.SkuId);
            Assert.Equal(_testNumberOfUnits, firstUnit.NumberOfUnits);
            Assert.Equal(_testNumberOfUnits, numberOfUnitsReturned);
        }