public async Task ShouldRemoveMaxApplicationsAndMAxApplicationsPerCustomerDiscountCodeAsync()
        {
            // Arrange
            var discountCode = await Helper.CreateTestDiscountCode(this._project, this._client, true, true, true);

            var setMaxApplications            = new SetMaxApplicationsAction();
            var setMaxApplicationsPerCustomer = new SetMaxApplicationsPerCustomerAction();

            // Act
            var updatedDiscountCodeResponse = await this._client.DiscountCodes()
                                              .UpdateDiscountCodeAsync(discountCode, new List <UpdateAction> {
                setMaxApplications, setMaxApplicationsPerCustomer
            });


            // Assert
            var updatedDiscountCode = updatedDiscountCodeResponse.Result;

            Assert.IsNotNull(updatedDiscountCode);
            Assert.IsNotNull(updatedDiscountCode.Id);
            Assert.IsNull(updatedDiscountCode.MaxApplications);
            Assert.IsNull(updatedDiscountCode.MaxApplicationsPerCustomer);

            // Cleanup
            await Helper.DeleteDiscountCode(this._client, updatedDiscountCode);
        }
        public async Task ShouldSetMaxApplicationsSetMaxApplicationsPerCustomerDiscountCodeAsync()
        {
            // Arrange
            var discountCode = await Helper.CreateTestDiscountCode(this._project, this._client, true, true, true);

            var setMaxApplications = new SetMaxApplicationsAction {
                MaxApplications = Helper.GetRandomNumber(3000, 5000)
            };
            var setMaxApplicationsPerCustomer = new SetMaxApplicationsPerCustomerAction {
                MaxApplicationsPerCustomer = Helper.GetRandomNumber(3000, 5000)
            };

            // Act
            var updatedDiscountCodeResponse = await this._client.DiscountCodes()
                                              .UpdateDiscountCodeAsync(discountCode, new List <UpdateAction> {
                setMaxApplications, setMaxApplicationsPerCustomer
            });


            // Assert
            var updatedDiscountCode = updatedDiscountCodeResponse.Result;

            Assert.IsNotNull(updatedDiscountCode);
            Assert.IsNotNull(updatedDiscountCode.Id);
            Assert.AreEqual(updatedDiscountCode.MaxApplications, setMaxApplications.MaxApplications);
            Assert.AreEqual(updatedDiscountCode.MaxApplicationsPerCustomer, setMaxApplicationsPerCustomer.MaxApplicationsPerCustomer);

            // Cleanup
            await Helper.DeleteDiscountCode(this._client, updatedDiscountCode);
        }