/**
  * @param string $modelClassName
  * @param string $workflowType
  * @return array
  */
 public static function getTypeValuesAndLabels($modelClassName, $workflowType)
 {
     assert('is_string($modelClassName)');
     assert('is_string($workflowType)');
     $data = array();
     $data[static::TYPE_DYNAMIC_TRIGGERED_MODEL_USER] = DynamicTriggeredModelUserWorkflowEmailMessageRecipientForm::getTypeLabel();
     $data[static::TYPE_DYNAMIC_TRIGGERED_MODEL_RELATION_USER] = DynamicTriggeredModelRelationUserWorkflowEmailMessageRecipientForm::getTypeLabel();
     $data[static::TYPE_STATIC_ROLE] = StaticRoleWorkflowEmailMessageRecipientForm::getTypeLabel();
     $data[static::TYPE_DYNAMIC_TRIGGERED_BY_USER] = DynamicTriggeredByUserWorkflowEmailMessageRecipientForm::getTypeLabel();
     $data[static::TYPE_STATIC_USER] = StaticUserWorkflowEmailMessageRecipientForm::getTypeLabel();
     $data[static::TYPE_STATIC_ADDRESS] = StaticAddressWorkflowEmailMessageRecipientForm::getTypeLabel();
     $data[static::TYPE_STATIC_GROUP] = StaticGroupWorkflowEmailMessageRecipientForm::getTypeLabel();
     if (is_subclass_of($modelClassName, 'Contact') || $modelClassName == 'Contact') {
         $data[static::TYPE_DYNAMIC_TRIGGERED_MODEL] = DynamicTriggeredModelWorkflowEmailMessageRecipientForm::getTypeLabel();
     }
     $form = new DynamicTriggeredModelRelationWorkflowEmailMessageRecipientForm($modelClassName, $workflowType);
     $relationValuesAndLabels = $form->getRelationValuesAndLabels();
     if (!empty($relationValuesAndLabels)) {
         $data[static::TYPE_DYNAMIC_TRIGGERED_MODEL_RELATION] = DynamicTriggeredModelRelationWorkflowEmailMessageRecipientForm::getTypeLabel();
     }
     return $data;
 }
 public function testMakeRecipientsForDynamicTriggeredModel()
 {
     $form = new DynamicTriggeredModelWorkflowEmailMessageRecipientForm('Contact', Workflow::TYPE_ON_SAVE);
     $model = new Contact();
     $model->firstName = 'Jason';
     $model->lastName = 'Blue';
     $model->state = ContactsUtil::getStartingState();
     $model->primaryEmail->emailAddress = '*****@*****.**';
     $this->assertTrue($model->save());
     $recipients = $form->makeRecipients($model, User::getById(self::$bobbyUserId));
     $this->assertEquals(1, count($recipients));
     $this->assertEquals('Jason Blue', $recipients[0]->toName);
     $this->assertEquals('*****@*****.**', $recipients[0]->toAddress);
     $this->assertEquals($model->id, $recipients[0]->personsOrAccounts[0]->id);
 }