create two permissions for azmayesh panel

This commit is contained in:
2024-11-18 11:37:30 +03:30
parent 70ae888238
commit 2f45671c05
17 changed files with 566 additions and 77 deletions

View File

@@ -3,6 +3,7 @@
namespace Tests\Feature\V3\Azmayesh;
use App\Models\Azmayesh;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -14,13 +15,28 @@ class DeleteTest extends TestCase
/**
* A basic feature test example.
*/
public function test_user_can_delete_azmayesh(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.delete', [$azmayesh->id]));
$response->assertForbidden();
}
public function test_user_can_delete_azmayesh(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.delete', [$azmayesh->id]));
$response->assertOk();
$this->assertDatabaseMissing('azmayeshes', [

View File

@@ -3,6 +3,7 @@
namespace Tests\Feature\V3\Azmayesh;
use App\Models\Azmayesh;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -14,10 +15,28 @@ class IndexTest extends TestCase
/**
* A basic feature test example.
*/
public function test_all_azmayeshes_returned_successfully(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayeshes.index', [
'start' => 0,
'size' => 10,
'filters' => json_encode([]),
'sorting' => json_encode([]),
]));
$response->assertForbidden();
}
public function test_all_azmayeshes_returned_successfully(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
Azmayesh::factory(5)->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayeshes.index', [

View File

@@ -3,6 +3,7 @@
namespace Tests\Feature\V3\Azmayesh;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\Province;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
@@ -15,12 +16,25 @@ class StoreTest extends TestCase
/**
* A basic feature test example.
*/
public function test_lat_attribute_is_required(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'));
$response->assertForbidden();
}
public function test_lat_attribute_is_required(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'));
$response->assertUnprocessable()
->assertInvalid([
'lat' => __('validation.required', ['attribute' => 'طول جغرافیایی'])
@@ -29,7 +43,11 @@ class StoreTest extends TestCase
public function test_lat_attribute_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'lat' => $this->faker->numberBetween(1, 10)
@@ -43,7 +61,11 @@ class StoreTest extends TestCase
public function test_lng_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'));
@@ -55,7 +77,11 @@ class StoreTest extends TestCase
public function test_lng_attribute_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'lng' => $this->faker->numberBetween(1, 10)
@@ -69,7 +95,11 @@ class StoreTest extends TestCase
public function test_azmayesh_type_id_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'));
@@ -81,7 +111,11 @@ class StoreTest extends TestCase
public function test_azmayesh_type_id_attribute_should_exist_on_azmayesh_types_table(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'azmayesh_type_id' => $this->faker->numberBetween(10, 100)
@@ -95,7 +129,11 @@ class StoreTest extends TestCase
public function test_request_date_attribute_should_be_date_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'request_date' => $this->faker->lexify
@@ -109,7 +147,11 @@ class StoreTest extends TestCase
public function test_report_date_attribute_should_be_date_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'report_date' => $this->faker->lexify
@@ -123,7 +165,11 @@ class StoreTest extends TestCase
public function test_request_number_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'request_number' => $this->faker->numberBetween(1, 10)
@@ -137,7 +183,11 @@ class StoreTest extends TestCase
public function test_employer_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'employer' => $this->faker->numberBetween(1, 10)
@@ -151,7 +201,11 @@ class StoreTest extends TestCase
public function test_contractor_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'contractor' => $this->faker->numberBetween(1, 10)
@@ -165,7 +219,11 @@ class StoreTest extends TestCase
public function test_work_number_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'work_number' => $this->faker->numberBetween(1, 10)
@@ -179,7 +237,11 @@ class StoreTest extends TestCase
public function test_project_name_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'));
@@ -191,7 +253,11 @@ class StoreTest extends TestCase
public function test_project_name_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'project_name' => $this->faker->numberBetween(1, 10)
@@ -205,7 +271,11 @@ class StoreTest extends TestCase
public function test_consultant_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'consultant' => $this->faker->numberBetween(1, 10)
@@ -219,7 +289,11 @@ class StoreTest extends TestCase
public function test_applicant_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'applicant' => $this->faker->numberBetween(1, 10)
@@ -233,7 +307,11 @@ class StoreTest extends TestCase
public function test_province_id_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'));
@@ -245,7 +323,11 @@ class StoreTest extends TestCase
public function test_province_id_attribute_should_exists_on_province_table(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.store'), [
'province_id' => $this->faker->numberBetween(10, 100)
@@ -259,7 +341,11 @@ class StoreTest extends TestCase
public function test_user_can_store_a_new_azmayesh(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$province = Province::factory()->create();
$azmayeshType = AzmayeshType::factory()->create();

View File

@@ -4,6 +4,7 @@ namespace Tests\Feature\V3\Azmayesh;
use App\Models\Azmayesh;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\Province;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
@@ -16,13 +17,27 @@ class UpdateTest extends TestCase
/**
* A basic feature test example.
*/
public function test_lat_attribute_is_required(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]));
$response->assertForbidden();
}
public function test_lat_attribute_is_required(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]));
$response->assertUnprocessable()
->assertInvalid([
'lat' => __('validation.required', ['attribute' => 'طول جغرافیایی'])
@@ -31,7 +46,11 @@ class UpdateTest extends TestCase
public function test_lat_attribute_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -46,7 +65,11 @@ class UpdateTest extends TestCase
public function test_lng_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]));
@@ -59,7 +82,11 @@ class UpdateTest extends TestCase
public function test_lng_attribute_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -74,7 +101,11 @@ class UpdateTest extends TestCase
public function test_azmayesh_type_id_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]));
@@ -87,7 +118,11 @@ class UpdateTest extends TestCase
public function test_azmayesh_type_id_attribute_should_exist_on_azmayesh_types_table(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -102,7 +137,11 @@ class UpdateTest extends TestCase
public function test_request_date_attribute_should_be_date_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -117,7 +156,11 @@ class UpdateTest extends TestCase
public function test_report_date_attribute_should_be_date_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -132,7 +175,11 @@ class UpdateTest extends TestCase
public function test_request_number_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -147,7 +194,11 @@ class UpdateTest extends TestCase
public function test_employer_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -162,7 +213,11 @@ class UpdateTest extends TestCase
public function test_contractor_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -177,7 +232,11 @@ class UpdateTest extends TestCase
public function test_work_number_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -192,7 +251,11 @@ class UpdateTest extends TestCase
public function test_project_name_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]));
@@ -205,7 +268,11 @@ class UpdateTest extends TestCase
public function test_project_name_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -220,7 +287,11 @@ class UpdateTest extends TestCase
public function test_consultant_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -235,7 +306,11 @@ class UpdateTest extends TestCase
public function test_applicant_attribute_should_be_string_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -250,7 +325,11 @@ class UpdateTest extends TestCase
public function test_province_id_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]));
@@ -263,7 +342,11 @@ class UpdateTest extends TestCase
public function test_province_id_attribute_should_exists_on_province_table(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayeshes.update', [$azmayesh->id]), [
@@ -278,7 +361,11 @@ class UpdateTest extends TestCase
public function test_user_can_update_the_azmayesh(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$province = Province::factory()->create();
$azmayeshType = AzmayeshType::factory()->create();
$azmayesh = Azmayesh::factory()->create();

View File

@@ -4,6 +4,7 @@ namespace Tests\Feature\V3\AzmayeshSample;
use App\Models\Azmayesh;
use App\Models\AzmayeshSample;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -15,13 +16,27 @@ class DeleteTest extends TestCase
/**
* A basic feature test example.
*/
public function test_user_can_delete_azmayesh_sample(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$azmayeshSample = AzmayeshSample::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.delete', [$azmayeshSample->id]));
$response->assertForbidden();
}
public function test_user_can_delete_azmayesh_sample(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayeshSample = AzmayeshSample::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.delete', [$azmayeshSample->id]));
$response->assertOk();
$this->assertDatabaseMissing('azmayesh_samples', [

View File

@@ -4,6 +4,7 @@ namespace Tests\Feature\V3\AzmayeshSample;
use App\Models\Azmayesh;
use App\Models\AzmayeshSample;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -15,10 +16,29 @@ class IndexTest extends TestCase
/**
* A basic feature test example.
*/
public function test_all_azmayesh_samples_returned_successfully(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_samples.index', [
1,
'start' => 0,
'size' => 10,
'filters' => json_encode([]),
'sorting' => json_encode([]),
]));
$response->assertForbidden();
}
public function test_all_azmayesh_samples_returned_successfully(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
Azmayesh::factory(5)
->sequence(
['id' => 1],

View File

@@ -5,6 +5,7 @@ namespace Tests\Feature\V3\AzmayeshSample;
use App\Models\Azmayesh;
use App\Models\AzmayeshSample;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\Province;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
@@ -17,12 +18,25 @@ class StoreTest extends TestCase
/**
* A basic feature test example.
*/
public function test_azmayesh_id_attribute_is_required(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.store'));
$response->assertForbidden();
}
public function test_azmayesh_id_attribute_is_required(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.store'));
$response->assertUnprocessable()
->assertInvalid([
'azmayesh_id' => __('validation.required', ['attribute' => 'آزمایش'])
@@ -31,7 +45,11 @@ class StoreTest extends TestCase
public function test_azmayesh_id_attribute_should_exists_on_azmayeshes_table(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.store'), [
'azmayesh_id' => $this->faker->numberBetween(10, 100)
@@ -45,7 +63,11 @@ class StoreTest extends TestCase
public function test_data_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.store'));
@@ -57,7 +79,11 @@ class StoreTest extends TestCase
public function test_user_can_store_a_new_azmayesh_sample(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$data = [

View File

@@ -4,6 +4,7 @@ namespace Tests\Feature\V3\AzmayeshSample;
use App\Models\Azmayesh;
use App\Models\AzmayeshSample;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -15,13 +16,27 @@ class UpdateTest extends TestCase
/**
* A basic feature test example.
*/
public function test_azmayesh_id_attribute_is_required(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$azmayeshSample = AzmayeshSample::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.update', [$azmayeshSample->id]));
$response->assertForbidden();
}
public function test_azmayesh_id_attribute_is_required(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayeshSample = AzmayeshSample::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.update', [$azmayeshSample->id]));
$response->assertUnprocessable()
->assertInvalid([
'azmayesh_id' => __('validation.required', ['attribute' => 'آزمایش'])
@@ -30,7 +45,11 @@ class UpdateTest extends TestCase
public function test_azmayesh_id_attribute_should_exists_on_azmayeshes_table(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayeshSample = AzmayeshSample::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.update', [$azmayeshSample->id]), [
@@ -45,7 +64,11 @@ class UpdateTest extends TestCase
public function test_data_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayeshSample = AzmayeshSample::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_samples.update', [$azmayeshSample->id]));
@@ -58,7 +81,11 @@ class UpdateTest extends TestCase
public function test_user_can_update_the_azmayesh_sample(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-management'
]))
->create();
$azmayesh = Azmayesh::factory()->create();
$azmayeshSample = AzmayeshSample::factory()->create();

View File

@@ -4,6 +4,7 @@ namespace Tests\Feature\V3\AzmayeshType;
use App\Models\AzmayeshField;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -15,9 +16,23 @@ class DeleteTest extends TestCase
/**
* A basic feature test example.
*/
public function test_user_can_delete_azmayesh_type(): void
public function test_user_should_have_azmayesh_type_management_permission(): void
{
$user = User::factory()->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.delete', [$azmayeshType->id]));
$response->assertForbidden();
}
public function test_user_can_delete_azmayesh_type(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$azmayeshField = AzmayeshField::factory()->create();

View File

@@ -4,6 +4,7 @@ namespace Tests\Feature\V3\AzmayeshType;
use App\Models\AzmayeshField;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -15,6 +16,16 @@ class FieldsTest extends TestCase
/**
* A basic feature test example.
*/
public function test_user_should_have_azmayesh_type_management_permission(): void
{
$user = User::factory()->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_types.fields', [$azmayeshType->id]));
$response->assertForbidden();
}
public function test_all_fields_for_azmayesh_types_returned_successfully(): void
{
AzmayeshField::factory(3)
@@ -47,7 +58,11 @@ class FieldsTest extends TestCase
$azmayeshType->azmayeshFields()->attach([1, 2, 3]);
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_types.fields', [$azmayeshType->id]));

View File

@@ -3,6 +3,7 @@
namespace Tests\Feature\V3\AzmayeshType;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -14,11 +15,29 @@ class IndexTest extends TestCase
/**
* A basic feature test example.
*/
public function test_user_should_have_azmayesh_type_management_permission(): void
{
$user = User::factory()->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_types.index', [
'start' => 0,
'size' => 10,
'filters' => json_encode([]),
'sorting' => json_encode([]),
]));
$response->assertForbidden();
}
public function test_all_azmayesh_types_returned_successfully(): void
{
AzmayeshType::factory(5)->create();
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_types.index', [
'start' => 0,

View File

@@ -3,6 +3,7 @@
namespace Tests\Feature\V3\AzmayeshType;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -14,11 +15,24 @@ class ListTest extends TestCase
/**
* A basic feature test example.
*/
public function test_user_should_have_azmayesh_type_management_permission(): void
{
$user = User::factory()->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_types.list'));
$response->assertForbidden();
}
public function test_azmayesh_type_list_returned_successfully(): void
{
AzmayeshType::factory(5)->create();
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_types.list'));

View File

@@ -4,6 +4,7 @@ namespace Tests\Feature\V3\AzmayeshType;
use App\Models\AzmayeshField;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -15,6 +16,16 @@ class ShowTest extends TestCase
/**
* A basic feature test example.
*/
public function test_user_should_have_azmayesh_type_management_permission(): void
{
$user = User::factory()->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_types.show', [$azmayeshType->id]));
$response->assertForbidden();
}
public function test_azmayesh_type_details_returned_successfully(): void
{
$azmayeshType = AzmayeshType::factory()->create();
@@ -22,7 +33,11 @@ class ShowTest extends TestCase
$azmayeshType->azmayeshFields()->attach([$azmayeshField->id]);
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->getJson(route('v3.azmayesh_types.show', [$azmayeshType->id]));

View File

@@ -2,6 +2,7 @@
namespace Tests\Feature\V3\AzmayeshType;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -13,12 +14,25 @@ class StoreTest extends TestCase
/**
* A basic feature test example.
*/
public function test_name_attribute_is_required(): void
public function test_user_should_have_azmayesh_type_management_permission(): void
{
$user = User::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'));
$response->assertForbidden();
}
public function test_name_attribute_is_required(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'));
$response->assertUnprocessable()
->assertInvalid([
'name' => __('validation.required', ['attribute' => "نام"])
@@ -27,7 +41,11 @@ class StoreTest extends TestCase
public function test_name_attribute_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'), [
'name' => $this->faker->numberBetween(1, 10)
@@ -41,7 +59,11 @@ class StoreTest extends TestCase
public function test_fields_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'));
@@ -53,7 +75,11 @@ class StoreTest extends TestCase
public function test_fields_attribute_should_be_array(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'), [
'fields' => $this->faker->numberBetween(1, 10)
@@ -67,7 +93,11 @@ class StoreTest extends TestCase
public function test_field_name_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'), [
'fields' => [
@@ -83,7 +113,11 @@ class StoreTest extends TestCase
public function test_field_name_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'), [
'fields' => [
@@ -99,7 +133,11 @@ class StoreTest extends TestCase
public function test_field_unit_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'), [
'fields' => [
@@ -115,7 +153,11 @@ class StoreTest extends TestCase
public function test_field_type_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'), [
'fields' => [
@@ -131,7 +173,11 @@ class StoreTest extends TestCase
public function test_field_type_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'), [
'fields' => [
@@ -147,7 +193,11 @@ class StoreTest extends TestCase
public function test_field_option_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.store'), [
'fields' => [
@@ -163,7 +213,11 @@ class StoreTest extends TestCase
public function test_user_can_store_fields_for_an_azmayesh_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$data = [
'name' => $this->faker->name,

View File

@@ -2,7 +2,9 @@
namespace Tests\Feature\V3\AzmayeshType;
use App\Models\AzmayeshSample;
use App\Models\AzmayeshType;
use App\Models\Permission;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
@@ -14,13 +16,27 @@ class UpdateTest extends TestCase
/**
* A basic feature test example.
*/
public function test_name_attribute_is_required(): void
public function test_user_should_have_azmayesh_management_permission(): void
{
$user = User::factory()->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]));
$response->assertForbidden();
}
public function test_name_attribute_is_required(): void
{
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]));
$response->assertUnprocessable()
->assertInvalid([
'name' => __('validation.required', ['attribute' => "نام"])
@@ -29,7 +45,11 @@ class UpdateTest extends TestCase
public function test_name_attribute_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]), [
@@ -44,7 +64,11 @@ class UpdateTest extends TestCase
public function test_fields_attribute_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]));
@@ -57,7 +81,11 @@ class UpdateTest extends TestCase
public function test_fields_attribute_should_be_array(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]), [
@@ -72,7 +100,11 @@ class UpdateTest extends TestCase
public function test_field_name_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]), [
@@ -89,7 +121,11 @@ class UpdateTest extends TestCase
public function test_field_name_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]), [
@@ -106,7 +142,11 @@ class UpdateTest extends TestCase
public function test_field_unit_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]), [
@@ -123,7 +163,11 @@ class UpdateTest extends TestCase
public function test_field_type_is_required(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]), [
@@ -140,7 +184,11 @@ class UpdateTest extends TestCase
public function test_field_type_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]), [
@@ -157,7 +205,11 @@ class UpdateTest extends TestCase
public function test_field_option_should_be_string(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$response = $this->actingAs($user)->postJson(route('v3.azmayesh_types.update', [$azmayeshType->id]), [
@@ -174,7 +226,11 @@ class UpdateTest extends TestCase
public function test_user_can_update_fields_for_an_azmayesh_type(): void
{
$user = User::factory()->create();
$user = User::factory()
->has(Permission::factory([
'name' => 'azmayesh-type-management'
]))
->create();
$azmayeshType = AzmayeshType::factory()->create();
$data = [