diff --git a/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/field.field.node.salesforce_mapping_test_content.field_salesforce_test_tax_ref.yml b/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/field.field.node.salesforce_mapping_test_content.field_salesforce_test_tax_ref.yml new file mode 100644 index 0000000000000000000000000000000000000000..ac9ceeac57dfcf5171b1acafb58937527b16afb7 --- /dev/null +++ b/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/field.field.node.salesforce_mapping_test_content.field_salesforce_test_tax_ref.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_salesforce_test_tax_ref + - node.type.salesforce_mapping_test_content + - taxonomy.vocabulary.salesforce_test_vocabulary +id: node.salesforce_mapping_test_content.field_salesforce_test_tax_ref +field_name: field_salesforce_test_tax_ref +entity_type: node +bundle: salesforce_mapping_test_content +label: 'Salesforce Test Taxonomy Ref' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + salesforce_test_vocabulary: salesforce_test_vocabulary + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/field.storage.node.field_salesforce_test_tax_ref.yml b/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/field.storage.node.field_salesforce_test_tax_ref.yml new file mode 100644 index 0000000000000000000000000000000000000000..bf93648d61a7294bf12f83020ebd4a08e8fc1a0f --- /dev/null +++ b/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/field.storage.node.field_salesforce_test_tax_ref.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_salesforce_test_tax_ref +field_name: field_salesforce_test_tax_ref +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/taxonomy.vocabulary.salesforce_test_vocabulary.yml b/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/taxonomy.vocabulary.salesforce_test_vocabulary.yml new file mode 100644 index 0000000000000000000000000000000000000000..b95b10e990ec147b887c36971b6331e750fea368 --- /dev/null +++ b/modules/salesforce_mapping/tests/modules/salesforce_mapping_test/config/install/taxonomy.vocabulary.salesforce_test_vocabulary.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +name: 'Salesforce Test Vocabulary' +vid: salesforce_test_vocabulary +description: '' +weight: 0 diff --git a/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php b/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php index 5c1947a5ca74c542bbad43eb2b3d85f8c6d951d3..82003cd6eb61fedcc70b1a9ad0745e3ec337644a 100644 --- a/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php +++ b/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php @@ -31,9 +31,11 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase { 'salesforce_test_rest_client', 'salesforce_mapping', 'salesforce_mapping_ui', + 'salesforce_mapping_test', 'user', 'link', 'dynamic_entity_reference', + 'taxonomy', ]; /** @@ -66,8 +68,8 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase { $post = [ 'id' => $mapping_name, 'label' => $mapping_name, - 'drupal_entity_type' => 'user', - 'drupal_bundle' => 'user', + 'drupal_entity_type' => 'node', + 'drupal_bundle' => 'salesforce_mapping_test_content', 'salesforce_object_type' => 'Contact', ]; $this->drupalPostForm('admin/structure/salesforce/mappings/add', $post, $this->t('Save')); @@ -86,8 +88,8 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase { drupal_flush_all_caches(); $post = [ 'label' => $this->randomMachineName(), - 'drupal_entity_type' => 'user', - 'drupal_bundle' => 'user', + 'drupal_entity_type' => 'node', + 'drupal_bundle' => 'salesforce_mapping_test_content', 'salesforce_object_type' => 'Contact', ]; $this->drupalPostForm('admin/structure/salesforce/mappings/manage/' . $mapping_name, $post, $this->t('Save')); @@ -98,12 +100,25 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase { // cause fatal errors. $mappingFieldsPluginManager = \Drupal::service('plugin.manager.salesforce_mapping_field'); $field_plugins = $mappingFieldsPluginManager->getDefinitions(); + + $post = []; + $i = 0; foreach ($field_plugins as $definition) { if (call_user_func([$definition['class'], 'isAllowed'], $mapping)) { - $post = [ - 'field_type' => $definition['id'], - ]; + // Add a new field: + $post['field_type'] = $definition['id']; $this->drupalPostForm('admin/structure/salesforce/mappings/manage/' . $mapping_name . '/fields', $post, $this->t('Add a field mapping to get started')); + // Confirm that the new field shows up: + $this->assertText($definition['label']); + + // Add all components of this field plugin to our post array to build up the mapping. + $this->assertField("field_mappings[$i][config][drupal_field_value]"); + $this->assertField("field_mappings[$i][config][salesforce_field]"); + $this->assertField("field_mappings[$i][config][description]"); + $this->assertSession()->hiddenFieldExists("field_mappings[$i][drupal_field_type]"); + $this->assertField("field_mappings[$i][config][direction]"); +// $post[$field] = ''; +// $i++; } }