public function testDecimalResolveValueAndSetToModelUpdateAsStatic()
 {
     $form = new DecimalWorkflowActionAttributeForm('WorkflowsTestModule', 'WorkflowModelTestItem');
     $form->type = DecimalWorkflowActionAttributeForm::TYPE_STATIC;
     $form->value = '54.22';
     $model = new WorkflowModelTestItem();
     $adapter = new WorkflowActionProcessingModelAdapter($model, Yii::app()->user->userModel);
     $this->assertNull($model->float);
     $form->resolveValueAndSetToModel($adapter, 'float');
     $this->assertEquals('54.22', $model->float);
 }
 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 testDateTimeWorkflowAttributeFormSetGetAndValidate
  */
 public function testDecimalWorkflowAttributeFormSetGetAndValidate()
 {
     $form = new DecimalWorkflowActionAttributeForm('WorkflowModelTestItem', 'float');
     $form->type = WorkflowActionAttributeForm::TYPE_STATIC;
     $form->shouldSetValue = true;
     $form->value = 444.12;
     $validated = $form->validate();
     $this->assertTrue($validated);
     //set the value with a length too short
     $form->value = 4;
     $validated = $form->validate();
     $this->assertFalse($validated);
 }