/// <summary> /// Test setup /// </summary> public TypeManagerTest() { _client = new Client(Helper.GetConfiguration()); Task <Response <Project.Project> > projectTask = _client.Project().GetProjectAsync(); projectTask.Wait(); Assert.True(projectTask.Result.Success); _project = projectTask.Result.Result; Assert.True(_project.Languages.Count > 0); CustomerDraft customerDraft = Helper.GetTestCustomerDraft(); Task <Response <CustomerCreatedMessage> > customerTask = _client.Customers().CreateCustomerAsync(customerDraft); customerTask.Wait(); Assert.True(customerTask.Result.Success); _testTypes = new List <Type>(); for (int i = 0; i < 5; i++) { TypeDraft typeDraft = Helper.GetTypeDraft(_project); Task <Response <Type> > typeTask = _client.Types().CreateTypeAsync(typeDraft); typeTask.Wait(); Assert.True(typeTask.Result.Success); Type type = typeTask.Result.Result; Assert.NotNull(type.Id); _testTypes.Add(type); } }
public static TypeDraft DefaultTypeDraftWithOneStringField(TypeDraft draft) { var customDraft = DefaultTypeDraft(draft); customDraft.FieldDefinitions.RemoveAll(field => field.Type.GetType() != typeof(StringFieldType)); return(customDraft); }
public TypeDraft CreateTypeDraft() { TypeDraft typeDraft = new TypeDraft(); typeDraft.Key = TestingUtility.RandomString(10); typeDraft.Name = new LocalizedString(); typeDraft.Name.Add("en", TestingUtility.RandomString(10)); typeDraft.Description = new LocalizedString(); typeDraft.Description.Add("en", TestingUtility.RandomString(10)); typeDraft.ResourceTypeIds = new List <ResourceTypeId>() { ResourceTypeId.Category, ResourceTypeId.CustomerGroup, ResourceTypeId.InventoryEntry, ResourceTypeId.Order, ResourceTypeId.LineItem, ResourceTypeId.CustomLineItem, ResourceTypeId.ProductPrice, ResourceTypeId.Asset, ResourceTypeId.Payment, ResourceTypeId.PaymentInterfaceInteraction }; typeDraft.FieldDefinitions = new List <FieldDefinition>(); typeDraft.FieldDefinitions.Add(this.CreateStringFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateLocalizedStringFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateNumberFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateBooleanFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateEnumFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateLocalizedEnumFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateMoneyFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateDateFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateTimeFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateDateTimeFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateReferenceFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateCustomObjectReferenceFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateSetFieldDefinition()); return(typeDraft); }
public static TypeDraft DefaultTypeDraftWithKey(TypeDraft draft, string key) { var customDraft = DefaultTypeDraft(draft); customDraft.Key = key; return(customDraft); }
public static TypeDraft DefaultTypeDraftWithoutFields(TypeDraft draft) { var customDraft = DefaultTypeDraft(draft); customDraft.FieldDefinitions.Clear(); return(customDraft); }
public static TypeDraft DefaultTypeDraft(TypeDraft typeDraft) { typeDraft.Key = TestingUtility.RandomString(10); typeDraft.Name = new LocalizedString(); typeDraft.Name.Add("en", TestingUtility.RandomString(10)); typeDraft.Description = new LocalizedString(); typeDraft.Description.Add("en", TestingUtility.RandomString(10)); typeDraft.ResourceTypeIds = new List <ResourceTypeId>() { ResourceTypeId.Category, ResourceTypeId.CustomerGroup, ResourceTypeId.InventoryEntry, ResourceTypeId.Order, ResourceTypeId.LineItem, ResourceTypeId.CustomLineItem, ResourceTypeId.ProductPrice, ResourceTypeId.Asset, ResourceTypeId.Payment, ResourceTypeId.PaymentInterfaceInteraction, ResourceTypeId.Review, ResourceTypeId.CartDiscount, ResourceTypeId.DiscountCode, ResourceTypeId.Channel, ResourceTypeId.ShoppingList, ResourceTypeId.ShoppingListTextLineItem, ResourceTypeId.Customer, ResourceTypeId.OrderEdit, ResourceTypeId.ShippingMethod }; typeDraft.FieldDefinitions = new List <FieldDefinition>(); typeDraft.FieldDefinitions.Add(CreateStringFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateLocalizedStringFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateNumberFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateBooleanFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateEnumFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateLocalizedEnumFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateMoneyFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateDateFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateTimeFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateDateTimeFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateReferenceFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateCustomObjectReferenceFieldDefinition()); typeDraft.FieldDefinitions.Add(CreateSetFieldDefinition()); return(typeDraft); }
public TypeDraft CreateTypeDraft() { TypeDraft typeDraft = new TypeDraft(); typeDraft.Key = this.RandomString(10); typeDraft.Name = new LocalizedString(); typeDraft.Name.Add("en", this.RandomString(10)); typeDraft.Description = new LocalizedString(); typeDraft.Description.Add("en", this.RandomString(10)); typeDraft.ResourceTypeIds = new List <ResourceTypeId>() { ResourceTypeId.Category, ResourceTypeId.CustomerGroup, ResourceTypeId.InventoryEntry, ResourceTypeId.Order, ResourceTypeId.LineItem, ResourceTypeId.CustomLineItem }; typeDraft.FieldDefinitions = new List <FieldDefinition>(); typeDraft.FieldDefinitions.Add(this.CreateStringFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateLocalizedStringFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateNumberFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateBooleanFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateEnumFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateLocalizedEnumFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateMoneyFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateDateFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateTimeFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateDateTimeFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateReferenceFieldDefinition()); typeDraft.FieldDefinitions.Add(this.CreateSetFieldDefinition()); return(typeDraft); }
public void SerializeStringFieldType() { ISerializerService serializerService = this.serializationFixture.SerializerService; TypeDraft typeDraft = new TypeDraft(); typeDraft.Key = "new-key"; typeDraft.ResourceTypeIds = new List <ResourceTypeId>(); typeDraft.ResourceTypeIds.Add(ResourceTypeId.Category); typeDraft.ResourceTypeIds.Add(ResourceTypeId.CustomLineItem); FieldDefinition fieldDefinition = new FieldDefinition(); fieldDefinition.Name = "string-field"; fieldDefinition.Required = true; fieldDefinition.Label = new LocalizedString(); fieldDefinition.Label.Add("en", "string description"); fieldDefinition.InputHint = TextInputHint.SingleLine; fieldDefinition.Type = new StringFieldType(); typeDraft.FieldDefinitions = new List <FieldDefinition>(); typeDraft.FieldDefinitions.Add(fieldDefinition); string result = serializerService.Serialize(typeDraft); JToken resultFormatted = JValue.Parse(result); string serialized = File.ReadAllText("Resources/FieldTypes/Serialized.json"); JToken serializedFormatted = JValue.Parse(serialized); serializedFormatted.Should().BeEquivalentTo(resultFormatted); }
public Type CreateType() { TypeDraft typeDraft = this.CreateTypeDraft(); IClient commerceToolsClient = this.GetService <IClient>(); Type createdType = commerceToolsClient.ExecuteAsync(new CreateCommand <Type>(typeDraft)).Result; return(createdType); }
public void CreateType() { IClient commerceToolsClient = this.typeFixture.GetService <IClient>(); TypeDraft typeDraft = this.typeFixture.CreateTypeDraft(); Type type = commerceToolsClient.ExecuteAsync(new CreateCommand <Type>(typeDraft)).Result; // This can also be done in a proxy class wrapping Client that adds types to delete inside this.typeFixture.TypesToDelete.Add(type); Assert.Equal(typeDraft.Key, type.Key); }
public async Task ShouldSetCustomTypeAndSetCustomFieldAsync() { // Arrange, create a type TypeDraft typeDraft = Helper.GetTypeDraftForInventory(_project); Task <Response <Type> > typeTask = _client.Types().CreateTypeAsync(typeDraft); typeTask.Wait(); Assert.IsTrue(typeTask.Result.Success, "CreateType failed"); Type testType = typeTask.Result.Result; ResourceIdentifier typeResourceIdentifier = new ResourceIdentifier { Id = testType.Id, TypeId = commercetools.Common.ReferenceType.Type }; string fieldName = testType.FieldDefinitions[0].Name; JObject fields = new JObject(); fields.Add(fieldName, Helper.GetRandomString(10)); SetCustomTypeAction setCustomTypeAction = new SetCustomTypeAction { Type = typeResourceIdentifier, Fields = fields, }; // Act 1, try set custom type Response <InventoryEntry> responseCustomType = await _client.Inventories().UpdateInventoryEntryAsync(_testInventories[0], setCustomTypeAction); // Assert Assert.IsTrue(responseCustomType.Success); _testInventories[0] = responseCustomType.Result; Assert.NotNull(_testInventories[0].Custom.Fields); Assert.AreEqual(fields[fieldName], _testInventories[0].Custom.Fields[fieldName]); // Arrange, change value fields[fieldName] = Helper.GetRandomString(10); SetCustomFieldAction setCustomFieldAction = new SetCustomFieldAction(fieldName); setCustomFieldAction.Value = fields[fieldName]; // Act 2, try update custom field Response <InventoryEntry> cartResponse = await _client.Inventories().UpdateInventoryEntryAsync(_testInventories[0], setCustomFieldAction); // Assert Assert.IsTrue(cartResponse.Success); _testInventories[0] = cartResponse.Result; Assert.NotNull(_testInventories[0].Custom.Fields); Assert.AreEqual(fields[fieldName], _testInventories[0].Custom.Fields[fieldName]); }
public async Task ShouldCreateAndDeleteTypeAsync() { TypeDraft typeDraft = Helper.GetTypeDraft(_project); Response <Type> typeResponse = await _client.Types().CreateTypeAsync(typeDraft); Assert.IsTrue(typeResponse.Success); Type type = typeResponse.Result; Assert.NotNull(type.Id); string deletedTypeId = type.Id; Response <JObject> deleteResponse = await _client.Types().DeleteTypeAsync(type); Assert.IsTrue(deleteResponse.Success); typeResponse = await _client.Types().GetTypeByIdAsync(deletedTypeId); Assert.IsFalse(typeResponse.Success); }
/// <summary> /// Gets a test type draft. /// </summary> /// <param name="project">Project</param> /// <returns>TypeDraft</returns> public static TypeDraft GetTypeDraft(Project.Project project) { LocalizedString typeName = new LocalizedString(); string randomPostfix = Helper.GetRandomString(10); typeName.SetValue(project.Languages[0], string.Concat("Test Type", randomPostfix)); List <string> resourceTypeIds = new List <string> { "order" }; TypeDraft typeDraft = new TypeDraft(string.Concat("test-type-", randomPostfix), typeName, resourceTypeIds); typeDraft.FieldDefinitions = new List <FieldDefinition> { Helper.GetFieldDefinition(project, "field1", "Field 1", new StringType()), Helper.GetFieldDefinition(project, "field2", "Field 2", new StringType()), Helper.GetFieldDefinition(project, "field3", "Field 3", new StringType()) }; return(typeDraft); }
public void Init() { _client = new Client(Helper.GetConfiguration()); Task <Response <Project.Project> > projectTask = _client.Project().GetProjectAsync(); projectTask.Wait(); Assert.IsTrue(projectTask.Result.Success); _project = projectTask.Result.Result; Assert.IsTrue(_project.Languages.Count > 0, "No Languages"); Assert.IsTrue(_project.Currencies.Count > 0, "No Currencies"); _testCustomers = new List <Customer>(); _testCarts = new List <Cart>(); _testCartsExternalAmountTaxMode = new List <Cart>(); CustomerDraft customerDraft; Task <Response <CustomerCreatedMessage> > customerTask; CustomerCreatedMessage customerCreatedMessage; CartDraft cartDraft; Cart cart; Task <Response <Cart> > cartTask; for (int i = 0; i < 5; i++) { customerDraft = Helper.GetTestCustomerDraft(); customerTask = _client.Customers().CreateCustomerAsync(customerDraft); customerTask.Wait(); Assert.IsTrue(customerTask.Result.Success); customerCreatedMessage = customerTask.Result.Result; Assert.NotNull(customerCreatedMessage.Customer); Assert.NotNull(customerCreatedMessage.Customer.Id); _testCustomers.Add(customerCreatedMessage.Customer); cartDraft = Helper.GetTestCartDraft(_project, customerCreatedMessage.Customer.Id); cartTask = _client.Carts().CreateCartAsync(cartDraft); cartTask.Wait(); Assert.NotNull(cartTask.Result); Assert.IsTrue(cartTask.Result.Success, "CreateCartAsync failed"); cart = cartTask.Result.Result; Assert.NotNull(cart.Id); Console.Error.WriteLine(string.Format("CartManagerTest - Information Only - Init TestCartDraft TaxMode: {0}", cartDraft.TaxMode == null ? "(default)" : cart.TaxMode.ToString())); _testCarts.Add(cart); cartDraft = Helper.GetTestCartDraft(_project, customerCreatedMessage.Customer.Id); cartDraft.TaxMode = TaxMode.ExternalAmount; cartTask = _client.Carts().CreateCartAsync(cartDraft); cartTask.Wait(); Assert.NotNull(cartTask.Result); Assert.IsTrue(cartTask.Result.Success, "CreateCartAsync failed"); cart = cartTask.Result.Result; Assert.IsTrue(cart.TaxMode == TaxMode.ExternalAmount, string.Format("Cart created using ExternalAmount TaxMode failed - TaxMode: {0}", cart.TaxMode)); Assert.NotNull(cart.Id); Console.Error.WriteLine(string.Format("CartManagerTest - Information Only - Init TestCartDraft TaxMode: {0}", cartDraft.TaxMode == null ? "(default)" : cart.TaxMode.ToString())); _testCartsExternalAmountTaxMode.Add(cart); } //customer/cart with external tax mode enabled customerDraft = Helper.GetTestCustomerDraft(); customerTask = _client.Customers().CreateCustomerAsync(customerDraft); customerTask.Wait(); Assert.IsTrue(customerTask.Result.Success); customerCreatedMessage = customerTask.Result.Result; Assert.NotNull(customerCreatedMessage.Customer); Assert.NotNull(customerCreatedMessage.Customer.Id); _testCustomers.Add(customerCreatedMessage.Customer); cartDraft = Helper.GetTestCartDraftUsingExternalTaxMode(_project, customerCreatedMessage.Customer.Id); cartTask = _client.Carts().CreateCartAsync(cartDraft); cartTask.Wait(); Assert.NotNull(cartTask.Result); Assert.IsTrue(cartTask.Result.Success, "CreateCartAsync failed"); cart = cartTask.Result.Result; Assert.NotNull(cart.Id); Console.Error.WriteLine(string.Format("CartManagerTest - Information Only - Init TestCartDraft TaxMode: {0}", cart.TaxMode)); _testCarts.Add(cart); ProductTypeDraft productTypeDraft = Helper.GetTestProductTypeDraft(); Task <Response <ProductType> > testProductTypeTask = _client.ProductTypes().CreateProductTypeAsync(productTypeDraft); testProductTypeTask.Wait(); Assert.IsTrue(testProductTypeTask.Result.Success, "CreateProductType failed"); _testProductType = testProductTypeTask.Result.Result; Assert.NotNull(_testProductType.Id); TaxCategoryDraft taxCategoryDraft = Helper.GetTestTaxCategoryDraft(_project); Task <Response <TaxCategory> > taxCategoryTask = _client.TaxCategories().CreateTaxCategoryAsync(taxCategoryDraft); taxCategoryTask.Wait(); Assert.IsTrue(taxCategoryTask.Result.Success, "CreateTaxCategory failed"); _testTaxCategory = taxCategoryTask.Result.Result; Assert.NotNull(_testTaxCategory.Id); Task <Response <ZoneQueryResult> > zoneQueryResultTask = _client.Zones().QueryZonesAsync(); zoneQueryResultTask.Wait(); Assert.IsTrue(zoneQueryResultTask.Result.Success); if (zoneQueryResultTask.Result.Result.Results.Count > 0) { _testZone = zoneQueryResultTask.Result.Result.Results[0]; _createdTestZone = false; } else { ZoneDraft zoneDraft = Helper.GetTestZoneDraft(); Task <Response <Zone> > zoneTask = _client.Zones().CreateZoneAsync(zoneDraft); zoneTask.Wait(); Assert.IsTrue(zoneTask.Result.Success, "CreateZone failed"); _testZone = zoneTask.Result.Result; _createdTestZone = true; } Assert.NotNull(_testZone.Id); foreach (string country in _project.Countries) { Location location = _testZone.Locations .Where(l => l.Country.Equals(country, StringComparison.OrdinalIgnoreCase)) .FirstOrDefault(); if (location == null) { location = new Location(); location.Country = country; AddLocationAction addLocationAction = new AddLocationAction(location); Task <Response <Zone> > updateZoneTask = _client.Zones().UpdateZoneAsync(_testZone, addLocationAction); updateZoneTask.Wait(); Assert.IsTrue(updateZoneTask.Result.Success, "UpdateZone failed"); _testZone = updateZoneTask.Result.Result; } } Assert.NotNull(_testZone.Locations.Count > 0); ShippingMethodDraft shippingMethodDraft = Helper.GetTestShippingMethodDraft(_project, _testTaxCategory, _testZone); Task <Response <ShippingMethod> > shippingMethodTask = _client.ShippingMethods().CreateShippingMethodAsync(shippingMethodDraft); shippingMethodTask.Wait(); Assert.IsTrue(shippingMethodTask.Result.Success, "CreateShippingMethod failed"); _testShippingMethod = shippingMethodTask.Result.Result; Assert.NotNull(_testShippingMethod.Id); ProductDraft productDraft = Helper.GetTestProductDraft(_project, _testProductType.Id, _testTaxCategory.Id); Task <Response <Product> > testProductTask = _client.Products().CreateProductAsync(productDraft); testProductTask.Wait(); Assert.IsTrue(testProductTask.Result.Success, "CreateProduct failed"); _testProduct = testProductTask.Result.Result; Assert.NotNull(_testProduct.Id); PaymentDraft paymentDraft = Helper.GetTestPaymentDraft(_project, _testCustomers[0].Id); Task <Response <Payment> > paymentTask = _client.Payments().CreatePaymentAsync(paymentDraft); paymentTask.Wait(); Assert.IsTrue(paymentTask.Result.Success, "CreatePayment failed"); _testPayment = paymentTask.Result.Result; Assert.NotNull(_testPayment.Id); TypeDraft typeDraft = Helper.GetTypeDraft(_project); Task <Response <Type> > typeTask = _client.Types().CreateTypeAsync(typeDraft); typeTask.Wait(); Assert.IsTrue(typeTask.Result.Success, "CreateType failed"); _testType = typeTask.Result.Result; }