public void Test_Run( ) { using (var mock = GetMock( )) { ImportRunWorker worker = mock.Create <ImportRunWorker>( ); var importRun = GetImportRun(mock); Field field = new StringField( ).AsWritable <Field>( ); field.Name = "Field1"; EntityType type = new EntityType( ); type.Fields.Add(field); ApiFieldMapping fieldMapping = new ApiFieldMapping( ); fieldMapping.MappedField = field; fieldMapping.Name = "NotAValidExcelColumnReference"; ApiResourceMapping mapping = importRun.ImportConfigUsed.ImportConfigMapping; mapping.ResourceMemberMappings.Add(fieldMapping.As <ApiMemberMapping>( )); mapping.MappedType = type; importRun.Save( ); worker.StartImport(MockRunId); Assert.That(importRun.ImportRunStatus_Enum, Is.EqualTo(WorkflowRunState_Enumeration.WorkflowRunCompleted)); Assert.That(importRun.ImportRecordsSucceeded, Is.EqualTo(4)); Assert.That(importRun.ImportRecordsTotal, Is.EqualTo(4)); Assert.That(importRun.ImportRecordsFailed, Is.EqualTo(0)); Assert.That(importRun.ImportRunFinished, Is.Not.Null); } }
public static ApiFieldMapping CreateApiFieldMapping(ApiResourceMapping resourceMapping, EntityRef field, string memberName) { Field fieldResource = Entity.Get <Field>(field); ApiFieldMapping mapping = new ApiFieldMapping( ); mapping.MappedField = fieldResource; mapping.Name = memberName; resourceMapping.ResourceMemberMappings.Add(mapping.As <ApiMemberMapping>( )); return(mapping); }
public void Test_MandatoryField(string mandatoryDefinedOn, string data) { // Create JSON string jsonMember = "member"; string jsonData = data.Replace("'", "\""); string json = "{\"" + jsonMember + "\":" + jsonData + "}"; if (data == "'unprovided'") { json = json.Replace(jsonMember, "somethingelse"); } // Create a type mapping EntityType entityTypeResource = new EntityType(); ApiResourceMapping typeMapping = new ApiResourceMapping(); typeMapping.MappedType = entityTypeResource; // Create a member mapping StringField fieldResource = new StringField(); ApiFieldMapping fieldMapping = new ApiFieldMapping(); fieldMapping.MappedField = fieldResource.As <Field>(); fieldMapping.Name = jsonMember; typeMapping.ResourceMemberMappings.Add(fieldMapping.As <ApiMemberMapping>()); if (mandatoryDefinedOn == "Mapping") { fieldMapping.ApiMemberIsRequired = true; } if (mandatoryDefinedOn == "Schema") { fieldResource.IsRequired = true; } entityTypeResource.Save( ); // Fill entity if (data == "'provided'") { IEntity entity = RunTest(json, typeMapping); } else { Assert.Throws <ConnectorRequestException>(() => RunTest(json, typeMapping), "E1010 '" + jsonMember + "' value is required."); } }
/// <summary> /// Get all the mapping columns from selected entity Type. /// </summary> private static void AddAllFields(ImportConfig importConfig, SampleTable sample) // List<ColumnInfo> mappingColumnCollection, EntityType type, DbDataTable sampleDataTable ) { EntityType type = importConfig.ImportConfigMapping.MappedType; var allFields = EntityTypeHelper.GetAllFields(type); foreach (Field field in allFields) { if (field.Name == "Alias") { continue; } SampleColumn column = sample.Columns.FirstOrDefault(col => col.Name == field.Name); if (column == null) { continue; } ApiFieldMapping fieldMapping = new ApiFieldMapping( ); fieldMapping.Name = column.ColumnName; fieldMapping.MappedField = field; importConfig.ImportConfigMapping.ResourceMemberMappings.Add(fieldMapping.As <ApiMemberMapping>( )); } }
public void Test_Failure_NoRecordsSucceeded( ) { using (var mock = GetMock( )) { // Create an int field and write string data to it. Field field = new IntField( ).AsWritable <Field>( ); field.Name = "Field2"; field.IsRequired = true; ApiFieldMapping mappedField = new ApiFieldMapping( ); mappedField.MappedField = field; mappedField.Name = "A"; // text column on Test3 sheet var importConfig = GetImportRun(mock).ImportConfigUsed; importConfig.ImportConfigMapping.MappingSourceReference = "Test3"; importConfig.ImportConfigMapping.ImportDataRow = 16; // only ask for two rows var mapping = importConfig.ImportConfigMapping; mapping.MappedType.Fields.Add(field); mapping.ResourceMemberMappings.Clear( ); mapping.ResourceMemberMappings.Add(mappedField.As <ApiMemberMapping>( )); GetImportRun(mock).Save( ); RunAndAssertFailure(mock, "No records were successfully imported.\r\nRow 16: Value for 'Field2' was formatted incorrectly.\r\nRow 17: Value for 'Field2' was formatted incorrectly."); } }