diff --git a/backup_migrate.module b/backup_migrate.module index c77ba40..911ed2f 100644 --- a/backup_migrate.module +++ b/backup_migrate.module @@ -48,7 +48,7 @@ * @param string|array $destination_id * @param array $config */ -function backup_migrate_perform_backup($source_id, $destination_id, $config = []) { +function backup_migrate_perform_backup($source_id, $destination_id, array $config = []) { try { // Retrieve the service. $bam = backup_migrate_get_service_object($config); diff --git a/src/Form/BackupMigrateAdvancedBackupForm.php b/src/Form/BackupMigrateAdvancedBackupForm.php index 2948205..550fd8f 100644 --- a/src/Form/BackupMigrateAdvancedBackupForm.php +++ b/src/Form/BackupMigrateAdvancedBackupForm.php @@ -27,7 +27,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { // Theme the form if we want it inline. // @FIXME // $form['#theme'] = 'backup_migrate_ui_manual_quick_backup_form_inline'; - $bam = backup_migrate_get_service_object([]); + $bam = backup_migrate_get_service_object(); $form['source'] = [ '#type' => 'fieldset', diff --git a/src/Form/BackupMigrateQuickBackupForm.php b/src/Form/BackupMigrateQuickBackupForm.php index 54b574d..48d010f 100644 --- a/src/Form/BackupMigrateQuickBackupForm.php +++ b/src/Form/BackupMigrateQuickBackupForm.php @@ -28,7 +28,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { // Theme the form if we want it inline. // @FIXME // $form['#theme'] = 'backup_migrate_ui_manual_quick_backup_form_inline';. - $bam = backup_migrate_get_service_object([]); + $bam = backup_migrate_get_service_object(); $form['quickbackup'] = [ '#type' => 'fieldset', @@ -43,7 +43,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { $form['quickbackup']['settings_profile_id'] = DrupalConfigHelper::getSettingsProfileSelector(t('Settings Profile')); unset($form['quickbackup']['destination_id']['#options']['upload']); // Create the service - // $bam = backup_migrate_get_service_object([]); + // $bam = backup_migrate_get_service_object(); // $bam->setConfig($config); // $bam->plugins()->get('namer')->confGet('filename'); // $form['quickbackup']['source_id'] = _backup_migrate_get_source_pulldown(\Drupal::config('backup_migrate.settings')->get('backup_migrate_source_id'));. diff --git a/src/Form/BackupMigrateRestoreForm.php b/src/Form/BackupMigrateRestoreForm.php index 864fef7..391b194 100644 --- a/src/Form/BackupMigrateRestoreForm.php +++ b/src/Form/BackupMigrateRestoreForm.php @@ -25,7 +25,7 @@ public function getFormId() { public function buildForm(array $form, FormStateInterface $form_state) { $form = []; - $bam = backup_migrate_get_service_object([]); + $bam = backup_migrate_get_service_object(); $form['backup_migrate_restore_upload'] = [ '#title' => $this->t('Upload a Backup File'), diff --git a/src/Form/BackupRestoreForm.php b/src/Form/BackupRestoreForm.php index e88cad7..792f434 100644 --- a/src/Form/BackupRestoreForm.php +++ b/src/Form/BackupRestoreForm.php @@ -70,7 +70,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $backup_m $this->destination = $backup_migrate_destination; $this->backup_id = $backup_id; - $bam = backup_migrate_get_service_object([]); + $bam = backup_migrate_get_service_object(); $form['source_id'] = DrupalConfigHelper::getPluginSelector($bam->sources(), $this->t('Restore To')); $conf_schema = $bam->plugins()->map('configSchema', ['operation' => 'restore']); diff --git a/src/Form/SettingsProfileForm.php b/src/Form/SettingsProfileForm.php index ba4cd3f..db8b983 100644 --- a/src/Form/SettingsProfileForm.php +++ b/src/Form/SettingsProfileForm.php @@ -37,7 +37,7 @@ public function form(array $form, FormStateInterface $form_state) { '#disabled' => !$backup_migrate_settings->isNew(), ]; - $bam = backup_migrate_get_service_object($backup_migrate_settings->get('config')); + $bam = backup_migrate_get_service_object($backup_migrate_settings->get('config', [])); $form['config'] = DrupalConfigHelper::buildAllPluginsForm($bam->plugins(), 'backup', ['config']); diff --git a/tests/src/Functional/BackupMigratePageLoadTest.php b/tests/src/Functional/BackupMigratePageLoadTest.php index e129b96..307b1ed 100644 --- a/tests/src/Functional/BackupMigratePageLoadTest.php +++ b/tests/src/Functional/BackupMigratePageLoadTest.php @@ -34,12 +34,8 @@ public function setUp() { // this. $path = 'private://backup_migrate/'; \Drupal::service('file_system')->prepareDirectory($path, FileSystemInterface::CREATE_DIRECTORY); - } - /** - * Tests if site quick backup function loads. - */ - public function testPages() { + // Log in an admin user. $account = $this->drupalCreateUser([ 'access backup files', 'administer backup and migrate', @@ -47,27 +43,43 @@ public function testPages() { 'restore from backup', ]); $this->drupalLogin($account); + } - $paths = [ - 'admin/config/development/backup_migrate' => ['text' => 'Quick Backup'], - 'admin/config/development/backup_migrate/advanced' => ['text' => 'Advanced Backup'], - 'admin/config/development/backup_migrate/restore' => ['text' => 'Restore'], - 'admin/config/development/backup_migrate/backups' => ['text' => 'Backups'], - 'admin/config/development/backup_migrate/schedule' => ['text' => 'Schedule'], - 'admin/config/development/backup_migrate/schedule/add' => ['text' => 'Add schedule'], - 'admin/config/development/backup_migrate/settings' => ['text' => 'Settings'], - 'admin/config/development/backup_migrate/settings/add' => ['text' => 'Add settings profile'], - 'admin/config/development/backup_migrate/settings/destination' => ['text' => 'Backup Destination'], - 'admin/config/development/backup_migrate/settings/destination/add' => ['text' => 'Add destination'], - 'admin/config/development/backup_migrate/settings/source' => ['text' => 'Backup sources'], - 'admin/config/development/backup_migrate/settings/source/add' => ['text' => 'Add Backup Source'], + /** + * Tests if site quick backup function loads. + * + * @param array $path_response + * A key/value pair of a path to check and a string that should be present. + * + * @dataProvider pagesListProvider + */ + public function testPages($path_text) { + [$path, $text] = $path_text; + $this->drupalGet($path); + $this->assertSession()->statusCodeEquals(200); + $this->assertSession()->pageTextContains($text); + } + + /** + * A list of paths to check and a string that should be present on that page. + * + * @return array + * A list of paths with a string that should be present on that page. + */ + public function pagesListProvider() { + return [ + 'admin/config/development/backup_migrate' => 'Quick Backup', + 'admin/config/development/backup_migrate/advanced' => 'Advanced Backup', + 'admin/config/development/backup_migrate/restore' => 'Restore', + 'admin/config/development/backup_migrate/backups' => 'Backups', + 'admin/config/development/backup_migrate/schedule' => 'Schedule', + 'admin/config/development/backup_migrate/schedule/add' => 'Add schedule', + 'admin/config/development/backup_migrate/settings' => 'Settings', + 'admin/config/development/backup_migrate/settings/add' => 'Add settings profile', + 'admin/config/development/backup_migrate/settings/destination' => 'Backup Destination', + 'admin/config/development/backup_migrate/settings/destination/add' => 'Add destination', + 'admin/config/development/backup_migrate/settings/source' => 'Backup sources', + 'admin/config/development/backup_migrate/settings/source/add' => 'Add Backup Source', ]; - - foreach ($paths as $path => $settings) { - $this->drupalGet($path); - $this->assertSession()->statusCodeEquals(200); - $this->assertSession()->pageTextContains($settings['text']); - } } - }