public void CreateAsync_WhenCustomFieldNull_ThrowArgumentNullException() { WrikeCustomField newCustomField = null; var ex = Assert.ThrowsAsync <ArgumentNullException>(() => TestConstants.WrikeClient.CustomFields .CreateAsync(newCustomField)); Assert.AreEqual("newCustomField", ex.ParamName); }
public void CreateAsync_ShouldAddCreateNewCustomField() { var newCustomField = new WrikeCustomField("TestCustomField#2", WrikeCustomFieldType.Text); var createdCustomField = WrikeClientFactory.GetWrikeClient().CustomFields.CreateAsync(newCustomField).Result; Assert.IsNotNull(newCustomField); Assert.AreEqual(newCustomField.Title, createdCustomField.Title); Assert.AreEqual(newCustomField.Type, createdCustomField.Type); //TODO: test other properties }
public void UpdateAsync_ShouldUpdateCommentText() { var newCustomField = new WrikeCustomField("TestCustomField#3", WrikeCustomFieldType.Text); var createdCustomField = WrikeClientFactory.GetWrikeClient().CustomFields.CreateAsync(newCustomField).Result; var expectedTitle = "TestCustomField#3[Updated]"; var expectedType = WrikeCustomFieldType.Checkbox; var updatedCustomField = WrikeClientFactory.GetWrikeClient().CustomFields.UpdateAsync( createdCustomField.Id, expectedTitle, expectedType).Result; Assert.IsNotNull(updatedCustomField); Assert.AreEqual(expectedTitle, updatedCustomField.Title); Assert.AreEqual(expectedType, updatedCustomField.Type); //TODO: test other properties }
async Task <WrikeCustomField> IWrikeCustomFieldsClient.CreateAsync(WrikeCustomField newCustomField) { if (newCustomField == null) { throw new ArgumentNullException(nameof(newCustomField)); } var postDataBuilder = new WrikeFormUrlEncodedContentBuilder() .AddParameter("title", newCustomField.Title) .AddParameter("type", newCustomField.Type) .AddParameter("shareds", newCustomField.SharedIds) .AddParameter("settings", newCustomField.Settings); var response = await SendRequest <WrikeCustomField>("customfields", HttpMethods.Post, postDataBuilder.GetContent()).ConfigureAwait(false); return(GetReponseDataFirstItem(response)); }
public static async Task Run(WrikeClient client) { var customFields = await client.CustomFields.GetAsync(); var newCustomField = new WrikeCustomField("TestCustomField", WrikeCustomFieldType.Text); newCustomField = await client.CustomFields.CreateAsync(newCustomField); customFields = await client.CustomFields.GetAsync(); foreach (var customField in customFields) { await client.CustomFields.UpdateAsync(customField.Id, type : customField.Type); } //customFields = await client.CustomFields.GetAsync(new List<string> { "customFieldId", "customFieldId" }); //var newCustomField = new WrikeCustomField //{ // AccountId = "accountId", // Title = "New Custom Field", // Type = WrikeCustomFieldType.Duration //}; //newCustomField = await client.CustomFields.CreateAsync(newCustomField); //TODO: returns invalid-parameter error if type is not Text customFields[18].Settings.DecimalPlaces = 0; customFields[18].Settings.Aggregation = WrikeCustomFieldAggregationType.None; var updatedCustomField = await client.CustomFields.UpdateAsync( customFields[18].Id, settings : customFields[18].Settings); }