Skip to content
Snippets Groups Projects
Commit 76f5a4f9 authored by Yutong Li's avatar Yutong Li Committed by Yas Naoi
Browse files

Issue #3230948 by yutong.li, yas, kumikoono: Add test cases for AWS Cloud Admin Setting forms

parent f759596d
No related branches found
No related tags found
No related merge requests found
<?php
namespace Drupal\Tests\aws_cloud\Functional\Config;
use Drupal\Tests\aws_cloud\Functional\AwsCloudTestBase;
/**
* Test Case class for AWS Cloud Admin Setting forms.
*
* @group AWS Cloud
*/
class AwsCloudAdminSettings extends AwsCloudTestBase {
public const AWS_CLOUD_ADMIN_SETTINGS_REPEAT_COUNT = 2;
/**
* Get permissions of login user.
*
* @return array
* permissions of login user.
*/
protected function getPermissions(): array {
return [
'administer aws_cloud',
'administer site configuration',
];
}
/**
* Test for AwsCloudAdminSettings.
*
* @param string $setting_type
* The setting type id.
*
* @throws \Behat\Mink\Exception\ResponseTextException
*/
protected function runAwsCloudAdminSettings($setting_type): void {
for ($i = 0; $i < self::AWS_CLOUD_ADMIN_SETTINGS_REPEAT_COUNT; $i++) {
$this->drupalGet("/admin/config/services/cloud/aws_cloud/{$setting_type}");
// Asserting no warning or error message.
$this->assertNoErrorMessage();
}
}
/**
* Test AWS Cloud Admin Setting forms on location.
*/
public function testAwsCloudAdminLocationSettings(): void {
$this->runAwsCloudAdminSettings('location');
// Input some value of the fields and save.
$config_factory = \Drupal::configFactory();
$config = $config_factory->getEditable('aws_cloud.settings');
$config->set('aws_cloud_region_locations',
$config->get(strtolower('aws_cloud_region_locations'))
);
$config->save();
$this->runAwsCloudAdminSettings('location');
}
/**
* Test AWS Cloud Admin Setting forms on notification.
*/
public function testAwsCloudAdminNotificationSettings(): void {
$this->runAwsCloudAdminSettings('notification');
// Input some value of the fields and save.
$config_factory = \Drupal::configFactory();
$config = $config_factory->getEditable('aws_cloud.settings');
$config->set('aws_cloud_long_running_instance_notification',
!$config->get('aws_cloud_long_running_instance_notification')
);
$config->save();
$this->runAwsCloudAdminSettings('notification');
}
/**
* Test AWS Cloud Admin Setting forms on settings.
*/
public function testAwsCloudAdminSettings(): void {
$this->runAwsCloudAdminSettings('settings');
// Input some value of the fields and save.
$config_factory = \Drupal::configFactory();
$config = $config_factory->getEditable('aws_cloud.settings');
$config->set('aws_cloud_instance_terminate',
!$config->get('aws_cloud_instance_terminate')
);
$config->save();
$this->runAwsCloudAdminSettings('settings');
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment