diff --git a/ProcessMaker/ImportExport/Exporters/ScriptExecutorExporter.php b/ProcessMaker/ImportExport/Exporters/ScriptExecutorExporter.php index e3a0152c14..0f3e8a1444 100644 --- a/ProcessMaker/ImportExport/Exporters/ScriptExecutorExporter.php +++ b/ProcessMaker/ImportExport/Exporters/ScriptExecutorExporter.php @@ -23,7 +23,7 @@ public function export() : void public function import() : bool { $authenticatedUser = Auth::user(); - $userId = $authenticatedUser ? $authenticatedUser->id : User::where('username', 'admin')->pluck('id'); + $userId = $authenticatedUser ? $authenticatedUser->id : User::where('is_administrator', true)->first()->id; switch ($this->mode) { case 'copy': case 'new': diff --git a/database/seeders/AdminTestUserSeeder.php b/database/seeders/AdminTestUserSeeder.php new file mode 100644 index 0000000000..db6cace1c8 --- /dev/null +++ b/database/seeders/AdminTestUserSeeder.php @@ -0,0 +1,57 @@ + self::$INSTALLER_ADMIN_TEST_USERNAME, + 'is_administrator' => true, + ], [ + 'username' => self::$INSTALLER_ADMIN_TEST_USERNAME, + 'password' => Hash::make(self::$INSTALLER_ADMIN_TEST_PASSWORD), + 'email' => self::$INSTALLER_ADMIN_TEST_EMAIL, + 'firstname' => self::$INSTALLER_ADMIN_TEST_FIRSTNAME, + 'lastname' => self::$INSTALLER_ADMIN_TEST_LASTNAME, + 'address' => null, + 'city' => null, + 'state' => null, + 'postal' => null, + 'country' => null, + 'phone' => null, + 'fax' => null, + 'cell' => null, + 'title' => null, + 'birthdate' => null, + 'timezone' => 'America/Los_Angeles', + 'datetime_format' => 'm/d/Y H:i', + 'language' => 'en', + 'status' => 'ACTIVE', + ]); + } +} diff --git a/tests/Feature/ImportExport/Exporters/ScriptExporterTest.php b/tests/Feature/ImportExport/Exporters/ScriptExporterTest.php index d692a300fd..b2665f3fcd 100644 --- a/tests/Feature/ImportExport/Exporters/ScriptExporterTest.php +++ b/tests/Feature/ImportExport/Exporters/ScriptExporterTest.php @@ -114,9 +114,9 @@ public function testHiddenUsesParentMode() public function testNoMatchingRunAsUser() { - $admin_user = User::factory()->create(['is_administrator' => true]); DB::beginTransaction(); $user = User::factory()->create(['username' => 'test']); + $admin_user = User::where('is_administrator', true)->first(); $script = Script::factory()->create(['title' => 'test', 'run_as_user_id' => $user->id]); $payload = $this->export($script, ScriptExporter::class, null, false); @@ -126,7 +126,6 @@ public function testNoMatchingRunAsUser() $script = Script::where('title', 'test')->firstOrFail(); $this->assertEquals($script->run_as_user_id, $admin_user->id); - $admin_user->delete(); } public function testRunAsUserIdNull() diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 586fd87c58..52737d48fd 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -96,6 +96,9 @@ Artisan::call('migrate:fresh', []); Artisan::call('db:seed', ['--class' => 'AnonymousUserSeeder']); + // Seed the super administrator user data + Artisan::call('db:seed', ['--class' => 'AdminTestUserSeeder']); + \Illuminate\Foundation\Testing\RefreshDatabaseState::$migrated = true; ScriptExecutor::firstOrCreate(