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); }
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 }
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); }
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); }
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); }
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); }
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"); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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"); }
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"); }
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); }
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); }
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); }
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); }
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); }
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); }
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"); }
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"); }
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"); }
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); }
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); }