Exemplo n.º 1
0
        public async Task POST_ShippingPreference_Invalid()
        {
            string identifier = TestContext.TestName;

            ShippingPreferencesRequest request = new ShippingPreferencesRequest
            {
                //does not have the CreatedBy porperty
                FreeFreightRules = new List <SFreeFreightRule>
                {
                    new SFreeFreightRule
                    {
                        ServiceLevelCode = 0,
                        ThresholdAmount  = 0
                    }
                },
                UseCustomerCarrier = true,
                ShippingConfigurationExternalId = identifier,
                FlatRateScheduleGroupExternalId = identifier,
                HandlingScheduleGroupExternalId = identifier
            };

            HttpEssResponse <ShippingPreferencesResponse> response = await Client.ShippingPreferences.Create(request);

            Assert.IsNotNull(response);
            Assert.AreEqual(422, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 2
0
        public async Task PUT_HandlingScheduleGroup_Success()
        {
            ScheduleGroupTestData testData = new ScheduleGroupTestData
            {
                ExternalIdentifier = "putHandlingScheduleG01"
            };

            //test data setup
            await TestScenarioSetUp(testData);

            HandlingScheduleGroupRequest request = new HandlingScheduleGroupRequest
            {
                UpdatedBy          = "temporal request",
                Name               = "temporal group",
                ExternalIdentifier = testData.ExternalIdentifier
            };

            HttpEssResponse <HandlingScheduleGroupResponse> response = await Client.HandlingScheduleGroups.Update(testData.ExternalIdentifier, request);

            //test data clean up
            await TestScenarioCleanUp(testData);

            //validations
            Assert.IsNotNull(response, "Response object should not be null");
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsNotNull(response.Result, "Result object should not be null");

            //TODO
            //specific validations
        }
Exemplo n.º 3
0
        public async Task POST_HandlingScheduleGroup_Success()
        {
            ScheduleGroupTestData testData = new ScheduleGroupTestData
            {
                ExternalIdentifier = "postHandlingScheduleGroupCase01"
            };

            HandlingScheduleGroupRequest request = new HandlingScheduleGroupRequest
            {
                ExternalIdentifier = testData.ExternalIdentifier,
                CreatedBy          = "post success test method",
                Name = "handling schedule group generic name"
            };

            HttpEssResponse <HandlingScheduleGroupResponse> response = await Client.HandlingScheduleGroups.Create(request);

            //clean test data
            await TestScenarioCleanUp(testData);

            //validations
            Assert.IsNotNull(response);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Result);
        }
Exemplo n.º 4
0
        public async Task PUT_FlatRateScheduleGroup_Success()
        {
            ScheduleGroupTestData testData = new ScheduleGroupTestData
            {
                ExternalIdentifier = "putFlatRateScheduleGroup01"
            };

            //test scenario set up
            await TestScenarioSetUp(testData);

            FlatRateScheduleGroupsRequest request = new FlatRateScheduleGroupsRequest
            {
                ExternalIdentifier = testData.ExternalIdentifier,
                Name      = "any value",
                UpdatedBy = "temporal request"
            };

            HttpEssResponse <FlatRateScheduleGroupsResponse> response = await Client.FlatRateScheduleGroups.Update(testData.ExternalIdentifier, request);

            Assert.IsNotNull(response, "Response object should not be null");
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success, "Response status code should not be successful");
            Assert.IsNotNull(response.Result, "Result object should not be null");

            //test data clean up
            await TestScenarioCleanUp(testData);
        }
Exemplo n.º 5
0
        public async Task PUT_HandlingSchedule_Success()
        {
            //test scenario setup
            SchedulesTestData testData = new SchedulesTestData
            {
                ExternalIdentifier = "HandlingSchedulesPutCase01"
            };

            await TestScenarioSetUp(testData);

            HandlingScheduleRequest request = new HandlingScheduleRequest
            {
                UpdatedBy          = "Put success",
                ExternalIdentifier = testData.ExternalIdentifier,
                OrderAmountMax     = 100,
                OrderAmountMin     = 10,
                Rate             = 1,
                ServiceLevelCode = 1
            };

            HttpEssResponse <HandlingScheduleResponse> response = await Client.HandlingSchedules.Update(testData.ExternalIdentifier, request);

            //test data clean up
            await TestScenarioCleanUp(testData);

            //validations
            Assert.IsNotNull(response);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Result);
        }
Exemplo n.º 6
0
        public async Task PUT_HandlingSchedule_Invalid()
        {
            //test scenario setup
            SchedulesTestData testData = new SchedulesTestData
            {
                ExternalIdentifier = "HandlingSchedulesPutCase02"
            };

            HandlingScheduleRequest request = new HandlingScheduleRequest
            {
                //does not have an UpdatedBy prop
                ExternalIdentifier = testData.ExternalIdentifier,
                OrderAmountMax     = 100,
                OrderAmountMin     = 10,
                Rate             = 1,
                ServiceLevelCode = 1
            };

            HttpEssResponse <HandlingScheduleResponse> response = await Client.HandlingSchedules.Update(testData.ExternalIdentifier, request);

            //validations
            Assert.IsNotNull(response);
            Assert.AreEqual(422, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 7
0
        public async Task POST_FlatRateSchedule_OrderAmountMaxIsNull_Success()
        {
            SchedulesTestData testData = new SchedulesTestData
            {
                ExternalIdentifier = "flatRatePostCase03"
            };

            FlatRateScheduleRequest request = new FlatRateScheduleRequest
            {
                CreatedBy          = "post success",
                ExternalIdentifier = testData.ExternalIdentifier,
                Rate             = 1,
                OrderAmountMax   = null,
                OrderAmountMin   = 24,
                ServiceLevelCode = (int)ServiceLevelCodesEnum.Ground
            };

            HttpEssResponse <FlatRateScheduleResponse> response = await Client.FlatRateSchedules.Create(request);

            //test data clean up
            await TestScenarioCleanUp(testData);

            Assert.IsNotNull(response);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Result);

            //specific validations
            Assert.IsNull(response.Result.OrderAmountMax, "OrderAmountMax should be null");
        }
Exemplo n.º 8
0
        public async Task PATCH_ShippingPreference_NotFound()
        {
            string identifier = TestContext.TestName;
            var    testData   = new ShippingPreferenceTestData
            {
                AccountMasterExtId         = identifier,
                FlatRateScheduleGroupExtId = identifier,
                HandlingScheduleGroupExtId = identifier,
                ShippingConfigurationExtId = identifier
            };

            //test data should not exist
            await TestScenarioCleanUp(testData);

            var request = new
            {
                UpdatedBy = "Patch request"
            };

            HttpEssResponse <ShippingPreferencesResponse> response = await Client.ShippingPreferences.PatchEntity(request);

            Assert.IsNotNull(response, $"{nameof(response)} should not be null");
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 9
0
        public async Task PUT_FlatRateSchedule_Success()
        {
            SchedulesTestData testData = new SchedulesTestData
            {
                ExternalIdentifier = "flatRatePutCase01"
            };

            //preconditions
            await TestScenarioSetUp(testData);

            FlatRateScheduleRequest request = new FlatRateScheduleRequest
            {
                UpdatedBy          = "put success",
                ExternalIdentifier = testData.ExternalIdentifier,
                Rate             = 11,
                OrderAmountMax   = 69,
                OrderAmountMin   = 4,
                ServiceLevelCode = 1
            };

            HttpEssResponse <FlatRateScheduleResponse> response = await Client.FlatRateSchedules.Update(testData.ExternalIdentifier, request);

            Assert.IsNotNull(response);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Result);

            //test data clean up
            await TestScenarioCleanUp(testData);
        }
Exemplo n.º 10
0
        public async Task POST_HandlingSchedule_OrderAmountMaxIsNull_Success()
        {
            SchedulesTestData testData = new SchedulesTestData
            {
                ExternalIdentifier = "handlingSchedulePostCase03"
            };

            HandlingScheduleRequest request = new HandlingScheduleRequest
            {
                CreatedBy          = "Post_Success_Test",
                ExternalIdentifier = testData.ExternalIdentifier,
                OrderAmountMax     = null,
                OrderAmountMin     = 0,
                Rate             = 1,
                ServiceLevelCode = 1
            };

            HttpEssResponse <HandlingScheduleResponse> response = await Client.HandlingSchedules.Create(request);

            //clear test data
            await TestScenarioCleanUp(testData);

            //validations
            Assert.IsNotNull(response);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Result);
            //specific validations
            Assert.AreEqual(null, response.Result.OrderAmountMax);
        }
Exemplo n.º 11
0
        public async Task PATCH_ShippingPreference_Success()
        {
            string identifier = TestContext.TestName;
            var    testData   = new ShippingPreferenceTestData
            {
                AccountMasterExtId         = identifier,
                FlatRateScheduleGroupExtId = identifier,
                HandlingScheduleGroupExtId = identifier,
                ShippingConfigurationExtId = identifier
            };

            //test scenario setup
            await TestScenarioSetUp(testData);

            var request = new
            {
                UpdatedBy          = "Patch request",
                UseCustomerCarrier = false
            };

            HttpEssResponse <ShippingPreferencesResponse> response = await Client.ShippingPreferences.PatchEntity(request);

            //test data clean up
            await TestScenarioCleanUp(testData);

            Assert.IsNotNull(response, $"{nameof(response)} should not be null");
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Result);

            //patch specific validations
            Assert.AreEqual(request.UpdatedBy, response.Result.UpdatedBy);
            Assert.AreEqual(request.UseCustomerCarrier, response.Result.UseCustomerCarrier);
        }
Exemplo n.º 12
0
        public async Task DELETE_HandlingSchedule_Not_Found()
        {
            string externalIdentifier = "HandlingSchedulesDeleteCase02";
            HttpEssResponse <HandlingScheduleResponse> response = await Client.HandlingSchedules.Remove(externalIdentifier);

            Assert.IsNotNull(response);
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 13
0
        public async Task GET_FlatRateSchedule_Not_Found()
        {
            string externalIdentifier = "flatRateGetCase02";
            HttpEssResponse <FlatRateScheduleResponse> response = await Client.FlatRateSchedules.GetSingle(externalIdentifier);

            Assert.IsNotNull(response);
            Assert.IsNull(response.Result);
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success);
        }
Exemplo n.º 14
0
        public async Task DELETE_ShippingConfiguration_NotFound()
        {
            string externalIdentifier = "NotFoundIdentifier";
            HttpEssResponse <ShippingConfigurationResponse> response = await Client.ShippingConfigurations.Remove(externalIdentifier);

            Assert.IsNotNull(response);
            Assert.IsFalse(response.Success);
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 15
0
        public async Task DELETE_ShippingAccountMaster_NotFound()
        {
            string accountMasterExtId = "deleteCase02";

            HttpEssResponse <ShippingAccountMasterPreferencesResponse> response = await Client.ShippingAccountMasterPreferences.Remove(accountMasterExtId);

            Assert.IsNotNull(response, "Response object for DELETE is null");
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 16
0
        public async Task GET_ShippingAccountMaster_NotFound()
        {
            string accountMasterExtId = "getCase02";

            HttpEssResponse <ShippingAccountMasterPreferencesResponse> response = await Client.ShippingAccountMasterPreferences.GetSingle(accountMasterExtId);

            Assert.IsNotNull(response, "Entire GET response object is null");
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 17
0
        public async Task DELETE_FlatRateScheduleGroup_Not_Found()
        {
            string externalIdentifier = "deleteFlatRateScheduleGroupCase02";
            HttpEssResponse <FlatRateScheduleGroupsResponse> response = await Client.FlatRateScheduleGroups.Remove(externalIdentifier);

            //validations
            Assert.IsNotNull(response);
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 18
0
        public async Task DELETE_FlatRateScheduleConfiguration_Not_Found()
        {
            string groupId    = "flatRateGroupConfigDelete02";
            string scheduleId = "flatRateScheduleConfigDelete02";

            HttpEssResponse <FlatRatesSchedulesConfigurationResponse> response = await Client.FlatRateScheduleConfigurations.Remove(groupId, scheduleId);

            Assert.IsNotNull(response, "Response should not be null");
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success, "Response status should not be successful");
            Assert.IsNull(response.Result, "Result object should be null");
        }
Exemplo n.º 19
0
        public async Task DELETE_HandlingSchedulesConfiguration_Not_Found()
        {
            string groupId    = "notfound";
            string scheduleId = "notfound";

            HttpEssResponse <HandlingSchedulesConfigurationResponse> response = await Client.HandlingScheduleConfigurations.Remove(groupId, scheduleId);

            //validations
            Assert.IsNotNull(response, "Response should not be null");
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsNull(response.Result, "Result object should be null");
        }
Exemplo n.º 20
0
        public async Task GET_HandlingScheduleGroup_Not_Found()
        {
            string externalIdentifier = "getHandlingScheduleGroupCase02";

            HttpEssResponse <HandlingScheduleGroupResponse> response = await Client.HandlingScheduleGroups.GetSingle(externalIdentifier);

            //validations
            Assert.IsNotNull(response);
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 21
0
        public async Task PATCH_ShippingAccountMaster_NotFound()
        {
            //does not need to exist
            string accountMasterExtId = "blahblah";

            var request = new { };
            HttpEssResponse <ShippingAccountMasterPreferencesResponse> response = await Client.ShippingAccountMasterPreferences.PatchEntity(accountMasterExtId, request);

            Assert.IsNotNull(response, "Response object for DELETE is null");
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 22
0
        public async Task PATCH_ShippingAccountMaster_FreeHandlingRules_Success()
        {
            string identifier = "shippingAmPatchFreeHandlingRules01";
            ShippingPreferenceTestData testData = new ShippingPreferenceTestData
            {
                AccountMasterExtId         = identifier,
                ShippingConfigurationExtId = identifier,
                HandlingScheduleGroupExtId = identifier,
                FlatRateScheduleGroupExtId = identifier
            };

            //test scenario setup
            await TestScenarioSetUp(testData);

            var request = new
            {
                UpdatedBy = "Patch req q:",

                FreeHandlingRules = new List <FreeHandlingRule>
                {
                    new FreeHandlingRule
                    {
                        ServiceLevelCode = (int)ServiceLevelCodesEnum.Ground,
                        ThresholdAmount  = 140M
                    }
                },
                FreeFreightForNonContiguousStates = true,
                UseCustomerCarrier = true
            };

            HttpEssResponse <ShippingAccountMasterPreferencesResponse> response = await Client.ShippingAccountMasterPreferences.PatchEntity(testData.AccountMasterExtId, request);

            //clear generated test data
            await TestScenarioCleanUp(testData);

            Assert.IsNotNull(response, "Response object for PATCH is null");
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Result);

            //patch specific validations
            Assert.AreEqual(request.UpdatedBy, response.Result.UpdatedBy);
            Assert.AreEqual(request.UseCustomerCarrier, response.Result.UseCustomerCarrier);
            Assert.AreEqual(request.FreeFreightForNonContiguousStates, response.Result.FreeFreightForNonContiguousStates);
            Assert.IsTrue(response.Result.FreeHandlingRules.Count > 0, $"{nameof(response.Result.FreeHandlingRules)} is empty");
            Assert.AreEqual(request.FreeHandlingRules.FirstOrDefault().ServiceLevelCode, response.Result.FreeHandlingRules.FirstOrDefault().ServiceLevelCode);
            Assert.AreEqual(request.FreeHandlingRules.FirstOrDefault().ThresholdAmount, response.Result.FreeHandlingRules.FirstOrDefault().ThresholdAmount);
        }
Exemplo n.º 23
0
        public async Task DELETE_FlatRateSchedule_Success()
        {
            SchedulesTestData testData = new SchedulesTestData
            {
                ExternalIdentifier = "flatRateDeleteCase01"
            };

            //preconditions
            await TestScenarioSetUp(testData);

            HttpEssResponse <FlatRateScheduleResponse> response = await Client.FlatRateSchedules.Remove(testData.ExternalIdentifier);

            Assert.IsNotNull(response);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 24
0
        public async Task DELETE_HandlingSchedule_Success()
        {
            //test scenario setup
            SchedulesTestData testData = new SchedulesTestData
            {
                ExternalIdentifier = "HandlingSchedulesDeleteCase01",
            };

            await TestScenarioSetUp(testData);

            HttpEssResponse <HandlingScheduleResponse> response = await Client.HandlingSchedules.Remove(testData.ExternalIdentifier);

            Assert.IsNotNull(response);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNull(response.Result);
        }
Exemplo n.º 25
0
        public async Task PUT_ShippingAccountMaster_FreeFreightRules_Success()
        {
            ShippingPreferenceTestData testData = new ShippingPreferenceTestData
            {
                AccountMasterExtId         = "putShippingAm01",
                ShippingConfigurationExtId = "putShippingAmShippConf01",
                HandlingScheduleGroupExtId = "putShippingAmHdScheduleGroup01",
                FlatRateScheduleGroupExtId = "putShippingAmFrScheduleGroup01"
            };

            //test scenario setup
            await TestScenarioSetUp(testData);

            ShippingAccountMasterPreferencesRequest request = new ShippingAccountMasterPreferencesRequest
            {
                UpdatedBy        = "PUT request",
                FreeFreightRules = new List <SAMFreeFreightRule>
                {
                    new SAMFreeFreightRule
                    {
                        ServiceLevelCode = 1,
                        ThresholdAmount  = 10
                    }
                },
                UseCustomerCarrier = true,
                ShippingConfigurationExternalId = testData.ShippingConfigurationExtId,
                FlatRateScheduleGroupExternalId = testData.FlatRateScheduleGroupExtId,
                HandlingScheduleGroupExternalId = testData.HandlingScheduleGroupExtId
            };

            HttpEssResponse <ShippingAccountMasterPreferencesResponse> response = await Client.ShippingAccountMasterPreferences.Update(testData.AccountMasterExtId, request);

            //clear generated test data
            await TestScenarioCleanUp(testData);

            Assert.IsNotNull(response);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success);
            Assert.IsNotNull(response.Result);

            //specific put validations
            Assert.AreEqual(request.UpdatedBy, response.Result.UpdatedBy);
            Assert.AreEqual(request.UseCustomerCarrier, response.Result.UseCustomerCarrier);
            Assert.AreEqual(request.FreeFreightRules.FirstOrDefault().ThresholdAmount, response.Result.FreeFreightRules.FirstOrDefault().ThresholdAmount);
            //Assert.AreEqual(request.FreeFreightRules.FirstOrDefault().ThresholdAmount, response.Result.FreeFreightRules.FirstOrDefault().ThresholdAmount);
        }
Exemplo n.º 26
0
        public async Task POST_HandlingSchedulesConfiguration_Success()
        {
            //test scenario setup
            ScheduleConfigurationTestData testData = new ScheduleConfigurationTestData
            {
                GroupExtId    = "postGroupConfig01",
                ScheduleExtId = "postScheduleConfig01"
            };

            //create handling schedule
            HandlingScheduleRequest handlingScheduleRequest = new HandlingScheduleRequest
            {
                ExternalIdentifier = testData.ScheduleExtId,
                CreatedBy          = "temporal request",
                Rate             = 0.2m,
                ServiceLevelCode = 0,
                OrderAmountMax   = 10,
                OrderAmountMin   = 1
            };
            await Client.HandlingSchedules.Create(handlingScheduleRequest);

            //create handling group
            HandlingScheduleGroupRequest handlingScheduleGroupRequest = new HandlingScheduleGroupRequest
            {
                CreatedBy          = "temporal request",
                ExternalIdentifier = testData.GroupExtId,
                Name = "temporal name"
            };
            await Client.HandlingScheduleGroups.Create(handlingScheduleGroupRequest);

            HandlingSchedulesConfigurationRequest request = new HandlingSchedulesConfigurationRequest
            {
                CreatedBy = "post success request"
            };

            HttpEssResponse <HandlingSchedulesConfigurationResponse> response = await Client
                                                                                .HandlingScheduleConfigurations.Create(testData.GroupExtId, testData.ScheduleExtId, request);

            await TestScenarioCleanUp(testData);

            //validations
            Assert.IsNotNull(response, "Response object should not be null");
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success, "Response status is not success");
            Assert.IsNotNull(response.Result, "Result object should not be null");
        }
Exemplo n.º 27
0
        public async Task POST_HandlingSchedulesConfiguration_NotFound()
        {
            string groupId    = "notFound";
            string scheduleId = "notFound";

            HandlingSchedulesConfigurationRequest request = new HandlingSchedulesConfigurationRequest
            {
                CreatedBy = "post success request"
            };

            HttpEssResponse <HandlingSchedulesConfigurationResponse> response = await Client.HandlingScheduleConfigurations.Create(groupId, scheduleId, request);

            //validations
            Assert.IsNotNull(response, "Response should not be null");
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsNull(response.Result, "result object should be null");
        }
Exemplo n.º 28
0
        public async Task POST_FlatRateScheduleConfiguration_NotFound()
        {
            string groupExtId    = "notFound";
            string scheduleExtId = "notFound";

            FlatRateScheduleConfigurationRequest request = new FlatRateScheduleConfigurationRequest
            {
                CreatedBy = "automated post request"
            };

            HttpEssResponse <FlatRatesSchedulesConfigurationResponse> response = await Client.FlatRateScheduleConfigurations.Create(groupExtId, scheduleExtId, request);

            Assert.IsNotNull(response, "Response is not null");
            Assert.AreEqual(404, response.StatusCode);
            Assert.IsFalse(response.Success, "Response status is not successful");
            Assert.IsNull(response.Result, "Result object should not be null");
        }
Exemplo n.º 29
0
        public async Task PUT_ShippingConfiguration_Success()
        {
            string externalIdentifier = "putShippingConfig01";
            //test scenario setup
            ShippingConfigurationTestData testData = new ShippingConfigurationTestData
            {
                ExternalIdentifier = externalIdentifier
            };

            await TestScenarioSetUp(testData);

            ShippingConfigurationRequest request = new ShippingConfigurationRequest
            {
                UpdatedBy               = "PUT request",
                ExternalIdentifier      = "dummyExternalIdentifier",
                DefaultServiceLevelCode = 1,
                ServiceLevels           = new List <SCServiceLevel>
                {
                    new SCServiceLevel
                    {
                        Code                = 0,
                        Label               = "label",
                        SortOrder           = 1,
                        Amount              = 25,
                        IsEnabled           = true,
                        CalculationMethod   = "string 1",
                        CarrierCode         = "some string",
                        CarrierRateDiscount = 12,
                    }
                }
            };
            HttpEssResponse <ShippingConfigurationResponse> response = await Client.ShippingConfigurations.Update(externalIdentifier, request);

            //test scenario clean up
            await TestScenarioCleanUp(testData);

            Assert.IsNotNull(response, "Response is null");
            Assert.IsTrue(response.Success);
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsNotNull(response.Result);

            //specific validations
            Assert.AreEqual(request.UpdatedBy, response.Result.UpdatedBy);
            Assert.AreEqual(request.ServiceLevels.FirstOrDefault().Label, response.Result.ServiceLevels.FirstOrDefault().Label);
        }
Exemplo n.º 30
0
        public async Task POST_FlatRateScheduleConfiguration_Success()
        {
            ScheduleConfigurationTestData testData = new ScheduleConfigurationTestData
            {
                GroupExtId    = "flatRateGroupConfigPost01",
                ScheduleExtId = "flatRateScheduleConfigPost01"
            };

            //create group
            FlatRateScheduleGroupsRequest groupsRequest = new FlatRateScheduleGroupsRequest
            {
                CreatedBy          = "temporal request",
                Name               = "temporal name",
                ExternalIdentifier = testData.GroupExtId
            };
            await Client.FlatRateScheduleGroups.Create(groupsRequest);

            //create schedule
            FlatRateScheduleRequest scheduleRequest = new FlatRateScheduleRequest
            {
                CreatedBy          = "temporal request",
                ExternalIdentifier = testData.ScheduleExtId,
                Rate             = 10,
                OrderAmountMin   = 1,
                OrderAmountMax   = 10,
                ServiceLevelCode = (int)ServiceLevelCodesEnum.Ground
            };
            await Client.FlatRateSchedules.Create(scheduleRequest);


            FlatRateScheduleConfigurationRequest request = new FlatRateScheduleConfigurationRequest
            {
                CreatedBy = "automated post request"
            };

            HttpEssResponse <FlatRatesSchedulesConfigurationResponse> response = await Client
                                                                                 .FlatRateScheduleConfigurations.Create(testData.GroupExtId, testData.ScheduleExtId, request);

            Assert.IsNotNull(response, "Response is not null");
            Assert.AreEqual(200, response.StatusCode);
            Assert.IsTrue(response.Success, "Response status is not successful");
            Assert.IsNotNull(response.Result, "Result object should not be null");

            await TestScenarioCleanUp(testData);
        }