public function testCreateAndGetContactWebFormById() { $allAttributes = ContactWebFormsUtil::getAllAttributes(); $placedAttributes = array('firstName', 'lastName', 'companyName', 'jobTitle'); $contactFormAttributes = ContactWebFormsUtil::getAllPlacedAttributes($allAttributes, $placedAttributes); $attributes = array_keys($contactFormAttributes); $this->assertTrue(ContactsModule::loadStartingData()); $contactStates = ContactState::getByName('New'); $contactWebForm = new ContactWebForm(); $contactWebForm->name = 'Test Form'; $contactWebForm->redirectUrl = 'http://google.com'; $contactWebForm->submitButtonLabel = 'Save'; $contactWebForm->defaultState = $contactStates[0]; $contactWebForm->serializedData = serialize($attributes); $contactWebForm->defaultOwner = Yii::app()->user->userModel; $this->assertTrue($contactWebForm->save()); $id = $contactWebForm->id; unset($contactWebForm); $contactWebForm = ContactWebForm::getById($id); $this->assertEquals('Test Form', $contactWebForm->name); $this->assertEquals('http://google.com', $contactWebForm->redirectUrl); $this->assertEquals('Save', $contactWebForm->submitButtonLabel); $this->assertEquals('New', $contactWebForm->defaultState->name); $this->assertEquals($attributes, unserialize($contactWebForm->serializedData)); }
public function testCreateAndGetContactWebFormEntryById() { $allAttributes = ContactWebFormsUtil::getAllAttributes(); $placedAttributes = array('firstName', 'lastName', 'companyName', 'jobTitle'); $contactFormAttributes = ContactWebFormsUtil::getAllPlacedAttributes($allAttributes, $placedAttributes); $attributes = array_keys($contactFormAttributes); $this->assertTrue(ContactsModule::loadStartingData()); $contactStates = ContactState::getByName('New'); $contactWebForm = new ContactWebForm(); $contactWebForm->name = 'Test Form'; $contactWebForm->redirectUrl = 'http://google.com'; $contactWebForm->submitButtonLabel = 'Save'; $contactWebForm->defaultState = $contactStates[0]; $contactWebForm->defaultOwner = Yii::app()->user->userModel; $contactWebForm->serializedData = serialize($attributes); $contactWebForm->save(); $contact = new Contact(); $contact->owner = $contactWebForm->defaultOwner; $contact->state = $contactWebForm->defaultState; $contact->firstName = 'Super'; $contact->lastName = 'Man'; $contact->jobTitle = 'Superhero'; $contact->companyName = 'Test Inc.'; if ($contact->validate()) { $contactWebFormEntryStatus = ContactWebFormEntry::STATUS_SUCCESS; $contactWebFormEntryMessage = ContactWebFormEntry::STATUS_SUCCESS_MESSAGE; } else { $contactWebFormEntryStatus = ContactWebFormEntry::STATUS_ERROR; $contactWebFormEntryMessage = ContactWebFormEntry::STATUS_ERROR_MESSAGE; } $contact->save(); foreach ($contactFormAttributes as $attributeName => $attributeValue) { $contactFormAttributes[$attributeName] = $contact->{$attributeName}; } $contactFormAttributes['owner'] = $contactWebForm->defaultOwner->id; $contactFormAttributes['state'] = $contactWebForm->defaultState->id; $contactWebFormEntry = new ContactWebFormEntry(); $contactWebFormEntry->serializedData = serialize($contactFormAttributes); $contactWebFormEntry->status = $contactWebFormEntryStatus; $contactWebFormEntry->message = $contactWebFormEntryMessage; $contactWebFormEntry->contactWebForm = $contactWebForm; $contactWebFormEntry->contact = $contact; $this->assertTrue($contactWebFormEntry->save()); $contactWebFormEntryId = $contactWebFormEntry->id; unset($contactWebFormEntry); $contactWebFormEntry = ContactWebFormEntry::getById($contactWebFormEntryId); $this->assertEquals('Test Form', $contactWebFormEntry->contactWebForm->name); $this->assertEquals('Super', $contactWebFormEntry->contact->firstName); $this->assertEquals('Man', $contactWebFormEntry->contact->lastName); $contactFormAttributes = unserialize($contactWebFormEntry->serializedData); $this->assertEquals('Super', $contactFormAttributes['firstName']); $this->assertEquals('Man', $contactFormAttributes['lastName']); $this->assertEquals('Superhero', $contactFormAttributes['jobTitle']); $this->assertEquals('Test Inc.', $contactFormAttributes['companyName']); }
public static function createContactWebFormByName($name, $owner = null) { if ($owner === null) { $owner = Yii::app()->user->userModel; } $placedAttributes = array('firstName', 'lastName', 'companyName', 'jobTitle'); ContactsModule::loadStartingData(); $contactStates = ContactState::getByName('New'); $contactWebForm = new ContactWebForm(); $contactWebForm->name = $name; $contactWebForm->redirectUrl = 'http://www.zurmo.com/'; $contactWebForm->submitButtonLabel = 'Save'; $contactWebForm->defaultState = $contactStates[0]; $contactWebForm->serializedData = serialize($placedAttributes); $contactWebForm->defaultOwner = $owner; $saved = $contactWebForm->save(); assert('$saved'); return $contactWebForm; }
public function testCreateAndGetContactWebFormById() { ContactWebFormTestHelper::deleteAllContactWebForms(); $placedAttributes = array('firstName', 'lastName', 'companyName', 'jobTitle'); $this->assertTrue(ContactsModule::loadStartingData()); $contactStates = ContactState::getByName('New'); $contactWebForm = new ContactWebForm(); $contactWebForm->name = 'Test Form'; $contactWebForm->redirectUrl = 'http://zurmo.com'; $contactWebForm->submitButtonLabel = 'Save'; $contactWebForm->defaultState = $contactStates[0]; $contactWebForm->serializedData = serialize($placedAttributes); $contactWebForm->defaultOwner = Yii::app()->user->userModel; $this->assertTrue($contactWebForm->save()); $id = $contactWebForm->id; unset($contactWebForm); $contactWebForm = ContactWebForm::getById($id); $this->assertEquals('Test Form', $contactWebForm->name); $this->assertEquals('http://zurmo.com', $contactWebForm->redirectUrl); $this->assertEquals('Save', $contactWebForm->submitButtonLabel); $this->assertEquals('New', $contactWebForm->defaultState->name); $this->assertEquals($placedAttributes, unserialize($contactWebForm->serializedData)); $this->assertNull($contactWebForm->defaultPermissionSetting); $this->assertNull($contactWebForm->defaultPermissionGroupSetting); $contactWebForm->name = 'New Test Form'; $contactWebForm->redirectUrl = 'http://zurmo.org'; $contactWebForm->submitButtonLabel = 'Save and Redirect'; $contactWebForm->defaultPermissionSetting = UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_EVERYONE; $this->assertTrue($contactWebForm->save()); $id = $contactWebForm->id; unset($contactWebForm); $contactWebForm = ContactWebForm::getById($id); $this->assertEquals('New Test Form', $contactWebForm->name); $this->assertEquals('http://zurmo.org', $contactWebForm->redirectUrl); $this->assertEquals('Save and Redirect', $contactWebForm->submitButtonLabel); $this->assertEquals($contactWebForm->defaultPermissionSetting, UserConfigurationForm::DEFAULT_PERMISSIONS_SETTING_EVERYONE); $this->assertNull($contactWebForm->defaultPermissionGroupSetting); }