public static void DisableSellableItemVariant(string variantName, string productName, string parentName, string catalogName) { var productId = productName.ToEntityId <SellableItem>(); EngineExtensions.AssertSellableItemExists(productName, parentName, variantName, catalogName); var view = Proxy.GetValue(EngineExtensions.AuthoringContainer.Value.GetEntityView(productId, "Details", "DisableSellableItemVariant", variantName)); view.Should().NotBeNull(); view.Policies.Should().BeEmpty(); view.Properties.Should().NotBeEmpty(); view.ChildViews.Should().BeEmpty(); view.Properties = new ObservableCollection <ViewProperty> { view.Properties.First(p => p.Name.Equals("Version")) }; var result = Proxy.DoCommand(EngineExtensions.AuthoringContainer.Value.DoAction(view)); result.Messages.Should().NotContainErrors(); EngineExtensions.AssertSellableItemExists(productName, parentName, variantName, catalogName); var variant = AssertChildViewItemExists(productId, ChildViewNames.SellableItemVariants, variantName); var disabledProperty = variant.Properties.FirstOrDefault(p => p.Name.EqualsIgnoreCase("disabled")); disabledProperty.Should().NotBeNull($"Variant '{variantName}' property 'disabled' was not found."); disabledProperty.Value.Should().Be("true", $"Variant '{variantName}' was not disabled in entity {productId}."); }
public static void DeleteSellableItemVariant(string variantName, string productName, string parentName, string catalogName) { var productId = productName.ToEntityId <SellableItem>(); EngineExtensions.AssertSellableItemExists(productName, parentName, variantName, catalogName); var view = Proxy.GetValue(EngineExtensions.AuthoringContainer.Value.GetEntityView(productId, "Details", "DeleteSellableItemVariant", variantName)); view.Should().NotBeNull(); view.Policies.Should().BeEmpty(); view.Properties.Should().NotBeEmpty(); view.ChildViews.Should().BeEmpty(); view.Properties = new ObservableCollection <ViewProperty> { view.Properties.First(p => p.Name.Equals("Version")) }; var result = Proxy.DoCommand(EngineExtensions.AuthoringContainer.Value.DoAction(view)); result.Messages.Should().NotContainErrors(); EngineExtensions.AssertSellableItemExists(productName, parentName, "", catalogName); EngineExtensions.AssertChildViewItemNotExists(productId, ChildViewNames.SellableItemVariants, variantName); EngineExtensions.AssertSellableItemNotExists(productName, parentName, variantName, catalogName); }
private static async Task RunImport(string filePath, string mode, string importMethodName, params string[] allowedErrorTerms) { using (new SampleMethodScope()) { File.Exists(filePath).Should().BeTrue(); using (var importStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) using (var hc = EngineExtensions.CreateHttpClientAuthoring()) using (var importContent = new MultipartFormDataContent()) { importContent.Add(new StreamContent(importStream), "importFile", filePath); importContent.Add(new StringContent(mode), "mode"); importContent.Add(new StringContent("0"), "errorThreshold"); var importResponse = await hc.PutAsync($"{Program.ShopsServiceUri}{importMethodName}()", importContent); importResponse.IsSuccessStatusCode.Should().BeTrue(); var importResponseText = await importResponse.Content.ReadAsStringAsync(); var importCommand = JsonConvert.DeserializeObject <CommerceCommand>(importResponseText); importCommand.WaitUntilCompletion(allowedErrorTerms); } } }