Esempio n. 1
0
        public void UpdateCartDiscountByIdChangeValue()
        {
            IClient      commerceToolsClient = this.cartDiscountFixture.GetService <IClient>();
            CartDiscount cartDiscount        = this.cartDiscountFixture.CreateCartDiscount();

            //creating new cart discount value
            var newCartDiscountValue = this.cartDiscountFixture.GetCartDiscountValueAsAbsolute();

            List <UpdateAction <CartDiscount> > updateActions           = new List <UpdateAction <CartDiscount> >();
            ChangeValueUpdateAction             changeValueUpdateAction = new ChangeValueUpdateAction()
            {
                Value = newCartDiscountValue
            };

            updateActions.Add(changeValueUpdateAction);

            CartDiscount retrievedCartDiscount = commerceToolsClient
                                                 .ExecuteAsync(new UpdateByIdCommand <CartDiscount>(new Guid(cartDiscount.Id),
                                                                                                    cartDiscount.Version, updateActions))
                                                 .Result;

            this.cartDiscountFixture.CartDiscountsToDelete.Add(retrievedCartDiscount);

            var cardDiscountAmount          = ((AbsoluteCartDiscountValue)cartDiscount.Value).Money[0].CentAmount;
            var retrievedCartDiscountAmount =
                ((AbsoluteCartDiscountValue)retrievedCartDiscount.Value).Money[0].CentAmount;

            Assert.NotEqual(cartDiscount.Version, retrievedCartDiscount.Version);
            Assert.NotEqual(cardDiscountAmount, retrievedCartDiscountAmount);
        }
        public void UpdateProductDiscountByIdChangeValue()
        {
            IClient         commerceToolsClient = this.productDiscountFixture.GetService <IClient>();
            ProductDiscount productDiscount     = this.productDiscountFixture.CreateProductDiscount();

            //creating new product discount value
            var newProductDiscountValue = this.productDiscountFixture.GetProductDiscountValueAsAbsolute();

            List <UpdateAction <ProductDiscount> > updateActions = new List <UpdateAction <ProductDiscount> >();
            ChangeValueUpdateAction changeValueUpdateAction      = new ChangeValueUpdateAction()
            {
                Value = newProductDiscountValue
            };

            updateActions.Add(changeValueUpdateAction);

            ProductDiscount retrievedProductDiscount = commerceToolsClient
                                                       .ExecuteAsync(new UpdateByIdCommand <ProductDiscount>(new Guid(productDiscount.Id), productDiscount.Version, updateActions))
                                                       .Result;

            this.productDiscountFixture.ProductDiscountsToDelete.Add(retrievedProductDiscount);
            Assert.NotEqual(productDiscount.Version, retrievedProductDiscount.Version);
        }
Esempio n. 3
0
        public async Task UpdateProductDiscountChangeValueToAbsolute()
        {
            var oldValue = new ExternalProductDiscountValue();

            await WithUpdateableProductDiscount(client,
                                                draft => DefaultProductDiscountDraftWithDiscountValue(draft, oldValue),
                                                async productDiscount =>
            {
                Assert.IsType <ExternalProductDiscountValue>(productDiscount.Value);
                var newValue = TestingUtility.GetProductDiscountValueAsAbsolute();
                var action   = new ChangeValueUpdateAction
                {
                    Value = newValue
                };

                var updatedProductDiscount = await client
                                             .ExecuteAsync(productDiscount.UpdateByKey(actions => actions.AddUpdate(action)));

                var updatedValue = updatedProductDiscount.Value as AbsoluteProductDiscountValue;
                Assert.NotNull(updatedValue);
                Assert.Equal(newValue.Money[0], updatedValue.Money[0]);
                return(updatedProductDiscount);
            });
        }
Esempio n. 4
0
        public async Task UpdateCartDiscountChangeValue()
        {
            var newAbsoluteValue = TestingUtility.GetRandomAbsoluteCartDiscountValue();

            await WithUpdateableCartDiscount(client, async cartDiscount =>
            {
                var updateActions     = new List <UpdateAction <CartDiscount> >();
                var changeValueAction = new ChangeValueUpdateAction
                {
                    Value = newAbsoluteValue
                };
                updateActions.Add(changeValueAction);

                var updatedCartDiscount = await client
                                          .ExecuteAsync(new UpdateByIdCommand <CartDiscount>(cartDiscount, updateActions));

                var retrievedCartDiscountAmount =
                    ((AbsoluteCartDiscountValue)updatedCartDiscount.Value).Money[0].CentAmount;

                Assert.NotEqual(cartDiscount.Version, updatedCartDiscount.Version);
                Assert.Equal(newAbsoluteValue.Money[0].CentAmount, retrievedCartDiscountAmount);
                return(updatedCartDiscount);
            });
        }