From 7b4c2eaf5f6c0abd6d5695d86d8bf28231dc22ff Mon Sep 17 00:00:00 2001 From: mohammad-alavi Date: Sun, 3 Oct 2021 09:02:16 +0330 Subject: [PATCH] add migration test --- .../Tests/Unit/PermissionMigrationTest.php | 95 +++++++++++++++++++ .../Unit/PasswordResetsMigrationTest.php | 28 ++++++ .../User/Tests/Unit/UsersMigrationTest.php | 34 +++++++ 3 files changed, 157 insertions(+) create mode 100644 app/Containers/AppSection/Authorization/Tests/Unit/PermissionMigrationTest.php create mode 100644 app/Containers/AppSection/User/Tests/Unit/PasswordResetsMigrationTest.php create mode 100644 app/Containers/AppSection/User/Tests/Unit/UsersMigrationTest.php diff --git a/app/Containers/AppSection/Authorization/Tests/Unit/PermissionMigrationTest.php b/app/Containers/AppSection/Authorization/Tests/Unit/PermissionMigrationTest.php new file mode 100644 index 000000000..349d4d0c0 --- /dev/null +++ b/app/Containers/AppSection/Authorization/Tests/Unit/PermissionMigrationTest.php @@ -0,0 +1,95 @@ +tableNames = config('permission.table_names'); + $this->columnNames = config('permission.column_names'); + } + + public function test_permissions_table_has_expected_columns(): void + { + $columns = [ + 'id', + 'name', + 'guard_name', + 'display_name', + 'description', + ]; + + foreach ($columns as $column) { + $this->assertTrue(Schema::hasColumn($this->tableNames['permissions'], $column)); + } + } + + public function test_roles_table_has_expected_columns(): void + { + $columns = [ + 'id', + 'name', + 'guard_name', + 'display_name', + 'description', + 'created_at', + 'updated_at', + ]; + + foreach ($columns as $column) { + $this->assertTrue(Schema::hasColumn($this->tableNames['roles'], $column)); + } + } + + public function test_model_has_permissions_table_has_expected_columns(): void + { + $columns = [ + 'permission_id', + 'model_type', + $this->columnNames['model_morph_key'], + ]; + + foreach ($columns as $column) { + $this->assertTrue(Schema::hasColumn($this->tableNames['model_has_permissions'], $column)); + } + } + + public function test_model_has_roles_table_has_expected_columns(): void + { + $columns = [ + 'role_id', + 'model_type', + $this->columnNames['model_morph_key'], + ]; + + foreach ($columns as $column) { + $this->assertTrue(Schema::hasColumn($this->tableNames['model_has_roles'], $column)); + } + } + + public function test_role_has_permissions_table_has_expected_columns(): void + { + $columns = [ + 'permission_id', + 'role_id', + ]; + + foreach ($columns as $column) { + $this->assertTrue(Schema::hasColumn($this->tableNames['role_has_permissions'], $column)); + } + } +} diff --git a/app/Containers/AppSection/User/Tests/Unit/PasswordResetsMigrationTest.php b/app/Containers/AppSection/User/Tests/Unit/PasswordResetsMigrationTest.php new file mode 100644 index 000000000..bbe5e22a0 --- /dev/null +++ b/app/Containers/AppSection/User/Tests/Unit/PasswordResetsMigrationTest.php @@ -0,0 +1,28 @@ +assertTrue(Schema::hasColumn('password_resets', $column)); + } + } +} diff --git a/app/Containers/AppSection/User/Tests/Unit/UsersMigrationTest.php b/app/Containers/AppSection/User/Tests/Unit/UsersMigrationTest.php new file mode 100644 index 000000000..fbf085e14 --- /dev/null +++ b/app/Containers/AppSection/User/Tests/Unit/UsersMigrationTest.php @@ -0,0 +1,34 @@ +assertTrue(Schema::hasColumn('users', $column)); + } + } +}