layout('Templates'); } public static function getTemplateCreateData() { return [ [ [ 'expected' => TEST_GOOD, 'fields' => [ 'Group name' => 'Zabbix servers' ] ] ], [ [ 'expected' => TEST_BAD, 'fields' => [ 'Group name' => 'Templates' ], 'error' => 'Template group "Templates" already exists.' ] ], [ [ 'expected' => TEST_GOOD, 'fields' => [ 'Group name' => STRING_255 ] ] ] ]; } /** * @dataProvider getCreateData * @dataProvider getTemplateCreateData */ public function testFormTemplateGroup_Create($data) { $this->checkForm($data, 'create'); } public static function getTemplateUpdateData() { return [ [ [ 'expected' => TEST_GOOD, 'fields' => [ 'Group name' => 'Discovered hosts' ] ] ], [ [ 'expected' => TEST_BAD, 'fields' => [ 'Group name' => 'Templates', 'Apply permissions to all subgroups' => true ], 'error' => 'Template group "Templates" already exists.' ] ], [ [ 'expected' => TEST_GOOD, 'fields' => [ 'Group name' => str_repeat('long_', 51) ] ] ] ]; } /** * @dataProvider getUpdateData * @dataProvider getTemplateUpdateData */ public function testFormTemplateGroup_Update($data) { $this->checkForm($data, 'update'); } /** * Test group simple update without changing data. */ public function testFormTemplateGroup_SimpleUpdate() { $this->simpleUpdate('Templates'); } /** * @dataProvider getCloneData */ public function testFormTemplateGroup_Clone($data) { $this->clone($data); } /** * @dataProvider getCancelData */ public function testFormTemplateGroup_Cancel($data) { $this->cancel($data); } public static function getTemplateDeleteData() { return [ [ [ 'expected' => TEST_BAD, 'name' => self::DELETE_ONE_GROUP, 'error' => 'Template "Template for template group testing" cannot be without template group.' ] ] ]; } /** * @dataProvider getDeleteData * @dataProvider getTemplateDeleteData */ public function testFormTemplateGroup_Delete($data) { $this->delete($data); } /** * @onBeforeOnce prepareSubgroupData * @dataProvider getSubgroupsData */ public function testFormTemplateGroup_ApplyPermissionsToSubgroups($data) { $this->checkSubgroupsPermissions($data); } }