function FlexsliderTestCase::testOptionSetForm in Flex Slider 7.2
File
- ./
flexslider.test, line 121 - Test cases for FlexSlider
Class
- FlexsliderTestCase
- @file Test cases for FlexSlider
Code
function testOptionSetForm() {
// Login with admin user
$this
->drupalLogin($this->admin_user);
// ------------ Test Option Set Add ------------ //
// Load create form
$this
->drupalGet('admin/config/media/flexslider/add');
$this
->assertResponse(200, t('Administrative user can reach the "Add" form.'));
// Save new optionset
$optionset = array();
$optionset['title'] = 'testset';
$optionset['name'] = 'testset';
$this
->drupalPost('admin/config/media/flexslider/add', $optionset, t('Save'));
$this
->assertResponse(200);
$this
->assertText('testset has been created.', t('Successfully saved the new optionset "testset"'));
// Attempt to save option set of the same name again
$this
->drupalPost('admin/config/media/flexslider/add', $optionset, t('Save'));
$this
->assertResponse(200);
$this
->assertText("The machine-readable name is already in use. It must be unique.", t("Blocked the creation of duplicate named optionset."));
// ------------ Test Option Set Edit ------------ //
// Attempt to save each option value
$options = _flexslider_test_options();
foreach ($options['valid'] as $testset) {
$this
->drupalPost('admin/config/media/flexslider/list/default/edit', $testset, t('Save'));
$this
->assertResponse(200);
// Test saved values loaded into form
$this
->drupalGet('admin/config/media/flexslider/list/default/edit');
$this
->assertResponse(200, t('Default optionset reloaded.'));
foreach ($testset as $key => $option) {
$this
->assertFieldByName($key, $option, t('Value for @key appears in form correctly.', array(
'@key' => $key,
)));
}
}
// ------------ Test Option Set Delete ------------ //
$testset = flexslider_optionset_load('testset');
// Test the delete workflow
$this
->drupalGet("admin/config/media/flexslider/list/{$testset->name}/delete");
$this
->assertResponse(200);
$this
->assertText("Are you sure you want to delete {$testset->name}?", t('Delete confirmation form loaded.'));
$this
->drupalPost("admin/config/media/flexslider/list/{$testset->name}/delete", '', 'Delete');
$this
->assertResponse(200);
$this
->assertText("The item has been deleted.", t('Deleted test set using form.'));
}