'Red', 'g' => 'Green', 'b' => 'Blue']; $customGroup = CustomGroup::create(FALSE) ->addValue('name', 'MyContactFields') ->addValue('extends', 'Contact') ->execute() ->first(); CustomField::create(FALSE) ->addValue('label', 'Color') ->addValue('option_values', $optionValues) ->addValue('custom_group_id', $customGroup['id']) ->addValue('html_type', 'Select') ->addValue('data_type', 'String') ->execute(); $customField = CustomField::get(FALSE) ->addWhere('label', '=', 'Color') ->execute() ->first(); $this->assertNotNull($customField['option_group_id']); $optionGroupId = $customField['option_group_id']; $optionGroup = OptionGroup::get(FALSE) ->addWhere('id', '=', $optionGroupId) ->execute() ->first(); $this->assertEquals('Color', $optionGroup['title']); $createdOptionValues = OptionValue::get(FALSE) ->addWhere('option_group_id', '=', $optionGroupId) ->execute() ->getArrayCopy(); $values = array_column($createdOptionValues, 'value'); $labels = array_column($createdOptionValues, 'label'); $createdOptionValues = array_combine($values, $labels); $this->assertEquals($optionValues, $createdOptionValues); } }