public function testLoad() { $customFieldData = CustomFieldData::getByName('Titles'); $this->assertEquals(0, count(unserialize($customFieldData->serializedData))); $customFieldData = CustomFieldData::getByName('AccountTypes'); $this->assertEquals(0, count(unserialize($customFieldData->serializedData))); $customFieldData = CustomFieldData::getByName('LeadSources'); $this->assertEquals(0, count(unserialize($customFieldData->serializedData))); $customFieldData = CustomFieldData::getByName('Industries'); $this->assertEquals(0, count(unserialize($customFieldData->serializedData))); $customFieldData = CustomFieldData::getByName('MeetingCategories'); $this->assertEquals(0, count(unserialize($customFieldData->serializedData))); $this->assertEquals(0, ContactState::getCount()); // do a getAll to ensure we create base currency $baseCurrency = Currency::getAll(); $this->assertCount(1, $baseCurrency); $this->assertEquals(1, Currency::getCount()); $messageLogger = new MessageLogger(); DefaultDataUtil::load($messageLogger); $customFieldData = CustomFieldData::getByName('Titles'); $this->assertEquals(4, count(unserialize($customFieldData->serializedData))); $customFieldData = CustomFieldData::getByName('AccountTypes'); $this->assertEquals(3, count(unserialize($customFieldData->serializedData))); $customFieldData = CustomFieldData::getByName('LeadSources'); $this->assertEquals(4, count(unserialize($customFieldData->serializedData))); $customFieldData = CustomFieldData::getByName('Industries'); $this->assertEquals(9, count(unserialize($customFieldData->serializedData))); $customFieldData = CustomFieldData::getByName('MeetingCategories'); $this->assertEquals(2, count(unserialize($customFieldData->serializedData))); $this->assertEquals(6, ContactState::getCount()); $this->assertEquals(1, Currency::getCount()); }
public function testContactStateModelAttributesAdapter() { Yii::app()->user->userModel = User::getByUsername('super'); $this->assertTrue(ContactsModule::loadStartingData()); $this->assertEquals(6, count(ContactState::GetAll())); $attributeForm = AttributesFormFactory::createAttributeFormByAttributeName(new Contact(), 'state'); $compareData = array(0 => 'New', 1 => 'In Progress', 2 => 'Recycled', 3 => 'Dead', 4 => 'Qualified', 5 => 'Customer'); $this->assertEquals($compareData, $attributeForm->contactStatesData); $this->assertEquals(null, $attributeForm->contactStatesLabels); $this->assertEquals(4, $attributeForm->startingStateOrder); //Now add new values. $attributeForm->contactStatesData = array(0 => 'New', 1 => 'In Progress', 2 => 'Recycled', 3 => 'Dead', 4 => 'Qualified', 5 => 'Customer', 6 => 'AAA', 7 => 'BBB'); $contactStatesLabels = array('fr' => array('New', 'In ProgressFr', 'RecycledFr', 'DeadFr', 'QualifiedFr', 'CustomerFr', 'AAAFr', 'BBBFr')); $attributeForm->contactStatesLabels = $contactStatesLabels; $attributeForm->startingStateOrder = 5; $adapter = new ContactStateModelAttributesAdapter(new Contact()); $adapter->setAttributeMetadataFromForm($attributeForm); $attributeForm = AttributesFormFactory::createAttributeFormByAttributeName(new Contact(), 'state'); $compareData = array(0 => 'New', 1 => 'In Progress', 2 => 'Recycled', 3 => 'Dead', 4 => 'Qualified', 5 => 'Customer', 6 => 'AAA', 7 => 'BBB'); $this->assertEquals($compareData, $attributeForm->contactStatesData); $this->assertEquals($contactStatesLabels, $attributeForm->contactStatesLabels); $contactState = ContactState::getByName('Customer'); $this->assertEquals(5, $contactState[0]->order); $this->assertEquals(5, $attributeForm->startingStateOrder); //Test removing existing values. $attributeForm->contactStatesData = array(0 => 'New', 1 => 'In Progress', 2 => 'Recycled', 3 => 'Customer', 4 => 'AAA', 5 => 'BBB'); $attributeForm->startingStateOrder = 5; $adapter = new ContactStateModelAttributesAdapter(new Contact()); $adapter->setAttributeMetadataFromForm($attributeForm); $attributeForm = AttributesFormFactory::createAttributeFormByAttributeName(new Contact(), 'state'); $compareData = array(0 => 'New', 1 => 'In Progress', 2 => 'Recycled', 3 => 'Customer', 4 => 'AAA', 5 => 'BBB'); $this->assertEquals($compareData, $attributeForm->contactStatesData); $this->assertEquals(5, $attributeForm->startingStateOrder); //Test switching order of existing values. $attributeForm->contactStatesData = array(0 => 'New', 3 => 'In Progress', 5 => 'Recycled', 1 => 'Customer', 4 => 'AAA', 2 => 'BBB'); $attributeForm->startingStateOrder = 2; $adapter = new ContactStateModelAttributesAdapter(new Contact()); $adapter->setAttributeMetadataFromForm($attributeForm); $attributeForm = AttributesFormFactory::createAttributeFormByAttributeName(new Contact(), 'state'); $compareData = array(0 => 'New', 3 => 'In Progress', 5 => 'Recycled', 1 => 'Customer', 4 => 'AAA', 2 => 'BBB'); $this->assertEquals($compareData, $attributeForm->contactStatesData); $this->assertEquals(2, $attributeForm->startingStateOrder); //Test switching order of existing values and adding new values mixed in. $attributeForm->contactStatesData = array(3 => 'New', 6 => 'In Progress', 5 => 'Recycled', 1 => 'Customer', 4 => 'AAA', 2 => 'BBB', 0 => 'CCC'); $attributeForm->startingStateOrder = 2; $adapter = new ContactStateModelAttributesAdapter(new Contact()); $adapter->setAttributeMetadataFromForm($attributeForm); $attributeForm = AttributesFormFactory::createAttributeFormByAttributeName(new Contact(), 'state'); $compareData = array(3 => 'New', 6 => 'In Progress', 5 => 'Recycled', 1 => 'Customer', 4 => 'AAA', 2 => 'BBB', 0 => 'CCC'); $this->assertEquals($compareData, $attributeForm->contactStatesData); $this->assertEquals(2, $attributeForm->startingStateOrder); //Switching name of existing state $this->assertEquals(7, ContactState::getCount()); $attributeForm->contactStatesDataExistingValues = array(3 => 'New', 6 => 'In Progress', 5 => 'Recycled', 1 => 'Customer', 4 => 'AAA', 2 => 'BBB', 0 => 'CCC'); $attributeForm->contactStatesData = array(3 => 'New', 6 => 'In Progress Plastic', 5 => 'Recycled', 1 => 'Customer', 4 => 'AAA', 2 => 'BBB', 0 => 'CCC'); $attributeForm->startingStateOrder = 2; $adapter = new ContactStateModelAttributesAdapter(new Contact()); $adapter->setAttributeMetadataFromForm($attributeForm); $attributeForm = AttributesFormFactory::createAttributeFormByAttributeName(new Contact(), 'state'); $compareData = array(3 => 'New', 6 => 'In Progress Plastic', 5 => 'Recycled', 1 => 'Customer', 4 => 'AAA', 2 => 'BBB', 0 => 'CCC'); $this->assertEquals($compareData, $attributeForm->contactStatesData); $this->assertEquals(2, $attributeForm->startingStateOrder); $this->assertEquals(7, ContactState::getCount()); }