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); }
/** * @depends testRegularUserControllerActionsWithElevationToModels */ public function testRegularUserViewingContactWebFormWithoutAccessToAccount() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); $aUser = UserTestHelper::createBasicUser('aUser'); $aUser->setRight('ContactWebFormsModule', ContactWebFormsModule::RIGHT_ACCESS_CONTACT_WEB_FORMS); $this->assertTrue($aUser->save()); $aUser = User::getByUsername('aUser'); $contactWebForm = ContactWebFormTestHelper::createContactWebFormByName('contactWebFormOwnedByaUser', $aUser); $id = $contactWebForm->id; $contactWebForm->forget(); unset($contactWebForm); $this->logoutCurrentUserLoginNewUserAndGetByUsername('aUser'); $content = $this->runControllerWithNoExceptionsAndGetContent('contactWebForms/default'); $this->assertNotContains('Fatal error: Method ContactWebForm::__toString() must not throw an exception', $content); }
public function testSuperUserCreateAction() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); Yii::app()->user->userModel = $super; $this->resetGetArray(); $attributes = ContactWebFormTestHelper::getContactWebFormAttributes(); ContactsModule::loadStartingData(); $contactStates = ContactState::getByName('New'); $contactWebForm = array(); $contactWebForm['name'] = 'External Web Form (Drupal)'; $contactWebForm['redirectUrl'] = 'http://www.zurmo.com/'; $contactWebForm['submitButtonLabel'] = 'Save & Next'; $contactWebForm['defaultState'] = $contactStates[0]; $contactWebForm['defaultOwner'] = $super; $this->setPostArray(array('ContactWebForm' => $contactWebForm, 'ContactWebFormAttributeForm' => $attributes)); $redirectUrl = $this->runControllerWithRedirectExceptionAndGetUrl('contactWebForms/default/create'); $contactWebForms = ContactWebForm::getByName('External Web Form (Drupal)'); $this->assertEquals(1, count($contactWebForms)); $this->assertTrue($contactWebForms[0]->id > 0); $this->assertEquals('Save & Next', $contactWebForms[0]->submitButtonLabel); $this->assertEquals($attributes, unserialize($contactWebForms[0]->serializedData)); $compareRedirectUrl = Yii::app()->createUrl('contactWebForms/default/details', array('id' => $contactWebForms[0]->id)); $this->assertEquals($compareRedirectUrl, $redirectUrl); }