/** * Merge tags don't work with phone, so it should result in the same string prior to calling resolveValueAndSetToModel */ public function testIntegerResolveValueAndSetToModelUpdateAsStaticWithMergeTags() { $form = new IntegerWorkflowActionAttributeForm('WorkflowsTestModule', 'WorkflowModelTestItem'); $form->type = IntegerWorkflowActionAttributeForm::TYPE_STATIC; $form->value = '54 [[STRING]]'; $model = new WorkflowModelTestItem(); $model->string = 'something'; $adapter = new WorkflowActionProcessingModelAdapter($model, Yii::app()->user->userModel); $this->assertNull($model->integer); $form->resolveValueAndSetToModel($adapter, 'integer'); $this->assertEquals('54 [[STRING]]', $model->integer); }
public function testGetTypeValuesAndLabels() { $form = new CheckBoxWorkflowActionAttributeForm('WorkflowModelTestItem', 'boolean'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new CurrencyValueWorkflowActionAttributeForm('WorkflowModelTestItem', 'currencyValue'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new DateWorkflowActionAttributeForm('WorkflowModelTestItem', 'date'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(2, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(false, true); $this->assertEquals(3, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new DateTimeWorkflowActionAttributeForm('WorkflowModelTestItem', 'dateTime'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(2, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(false, true); $this->assertEquals(3, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new DecimalWorkflowActionAttributeForm('WorkflowModelTestItem', 'float'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new DropDownWorkflowActionAttributeForm('WorkflowModelTestItem', 'dropDowns'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(false, true); $this->assertEquals(2, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new EmailWorkflowActionAttributeForm('WorkflowModelTestItem', 'email'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(true, false); $this->assertEquals(2, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new IntegerWorkflowActionAttributeForm('WorkflowModelTestItem', 'integer'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new ContactStateWorkflowActionAttributeForm('WorkflowModelTestItem', 'likeContactState'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new MultiSelectDropDownWorkflowActionAttributeForm('WorkflowModelTestItem', 'multiDropDown'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new PhoneWorkflowActionAttributeForm('WorkflowModelTestItem', 'phone'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(true, false); $this->assertEquals(2, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new RadioDropDownWorkflowActionAttributeForm('WorkflowModelTestItem', 'radioDropDown'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(false, true); $this->assertEquals(2, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new TagCloudWorkflowActionAttributeForm('WorkflowModelTestItem', 'tagCloud'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new TextWorkflowActionAttributeForm('WorkflowModelTestItem', 'text'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(true, false); $this->assertEquals(2, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new TextAreaWorkflowActionAttributeForm('WorkflowModelTestItem', 'textArea'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(true, false); $this->assertEquals(2, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new UrlWorkflowActionAttributeForm('WorkflowModelTestItem', 'url'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(1, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(true, false); $this->assertEquals(2, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new UserWorkflowActionAttributeForm('WorkflowModelTestItem', 'user'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(2, count($valuesAndLabels)); $valuesAndLabels = $form->getTypeValuesAndLabels(false, true); $this->assertEquals(4, count($valuesAndLabels)); $this->assertTrue($form->resolveValueBeforeSave()); $form = new ExplicitReadWriteModelPermissionsWorkflowActionAttributeForm('WorkflowModelTestItem', 'permissions'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(3, count($valuesAndLabels)); $this->assertFalse($form->resolveValueBeforeSave()); //Make new group and confirm it shows up $group = new Group(); $group->name = 'test'; $this->assertTrue($group->save()); $form = new ExplicitReadWriteModelPermissionsWorkflowActionAttributeForm('WorkflowModelTestItem', 'permissions'); $valuesAndLabels = $form->getTypeValuesAndLabels(true, true); $this->assertEquals(4, count($valuesAndLabels)); }
/** * @depends testEmailWorkflowAttributeFormSetGetAndValidate */ public function testIntegerWorkflowAttributeFormSetGetAndValidate() { $form = new IntegerWorkflowActionAttributeForm('WorkflowModelTestItem', 'integer'); $form->type = WorkflowActionAttributeForm::TYPE_STATIC; $form->shouldSetValue = true; $form->value = 12412; $validated = $form->validate(); $this->assertTrue($validated); //set the value with a length too short $form->value = 4; $validated = $form->validate(); $this->assertFalse($validated); }