assertEquals( [$this->integrationObjectName], $this->getMappingManualDAO()->getIntegrationObjectNames(Contact::NAME) ); } public function testMappedInternalNamesAreReturnedBasedOnIntegrationObjectName(): void { $this->assertEquals( [Contact::NAME], $this->getMappingManualDAO()->getInternalObjectNames($this->integrationObjectName) ); } public function testThatOneWayInternalObjectFieldsAreNotReturnedWhenNotRequired(): void { $this->assertEquals( [ 'email', // required and bidirectional 'country', // bidirectional 'firstname', // sync from mautic to integration ], $this->getMappingManualDAO()->getInternalObjectFieldsToSyncToIntegration(Contact::NAME) ); } public function testThatRequiredInternalObjectFieldsAreReturned(): void { $this->assertEquals( ['email'], $this->getMappingManualDAO()->getInternalObjectRequiredFieldNames(Contact::NAME) ); } public function testThatOneWayIntegrationObjectFieldsAreNotReturnedWhenNotRequired(): void { $this->assertEquals( [ 'email', // required and bidirectional 'country', // bidirectional 'last_name', // sync from mautic to integration ], $this->getMappingManualDAO()->getIntegrationObjectFieldsToSyncToMautic($this->integrationObjectName) ); } public function testThatRequiredIntegrationObjectFieldsAreReturned(): void { $this->assertEquals( ['email'], $this->getMappingManualDAO()->getIntegrationObjectRequiredFieldNames($this->integrationObjectName) ); } public function testMappedIntegrationFieldIsReturned(): void { $this->assertEquals( 'last_name', $this->getMappingManualDAO()->getIntegrationMappedField( $this->integrationObjectName, Contact::NAME, 'lastname' ) ); } public function testMappedInternalFieldIsReturned(): void { $this->assertEquals( 'lastname', $this->getMappingManualDAO()->getInternalMappedField( Contact::NAME, $this->integrationObjectName, 'last_name' ) ); } private function getMappingManualDAO() { $mappingManual = new MappingManualDAO($this->integrationName); $objectMapping = new ObjectMappingDAO(Contact::NAME, $this->integrationObjectName); $objectMapping->addFieldMapping('email', 'email', ObjectMappingDAO::SYNC_BIDIRECTIONALLY, true); $objectMapping->addFieldMapping('country', 'country', ObjectMappingDAO::SYNC_BIDIRECTIONALLY); $objectMapping->addFieldMapping('firstname', 'first_name', ObjectMappingDAO::SYNC_TO_INTEGRATION); $objectMapping->addFieldMapping('lastname', 'last_name', ObjectMappingDAO::SYNC_TO_MAUTIC); $mappingManual->addObjectMapping($objectMapping); return $mappingManual; } }