HOME


Mini Shell 1.0
Negocios La Pieza.DO | Registrate o Inicia Sesión

Inicie Sesión en su Cuenta de Negocios

Olvidó Contraseña?
DIR: /var/www/devs.lapieza.net/tests/Unit/
Upload File :
Current File : /var/www/devs.lapieza.net/tests/Unit/ExampleTest.php
<?php


namespace Tests\Unit;


use App\Models\User;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Laravel\Sanctum\Sanctum;
use Tests\TestCase;


class ExampleTest extends TestCase {
    use DatabaseTransactions;

    //Pruebas unitarias
    /*
     * Las pruebas unitarias son pruebas que prueban una unidad de código, como un método o una clase.
     * es decir una funcionalidad específica del sistema
     * Por ejemplo:
     * CRUD
     * La prueba probaria las funciones de crear, leer, actualizar y eliminar
     * */

    public function testBasicTest() {

        $array = [
            'name' => 'Producto duro'
            //...
        ];

        $response = $this->post('url', $array, [
            'Accept' => 'application/json',
            'Content-Type' => 'application/json',
        ]);

        $this->assertTrue(true);
    }

    public function testListCategories() {
        $url = config('app.url') . "/api/v2/workshop/categories";

        // Si el usuario no es workshop, no puede ver las categorias
        $seller = User::factory()->create(['name' => 'seller']);
        $token = $seller->createToken('seller')->plainTextToken;
        Sanctum::actingAs($seller,['*']);

        $firstResponse = $this->get($url,[
            'Accept' => 'application/json',
            'Content-Type' => 'application/json',
            'Authorization' => "Bearer $token"
        ]);

        // id3entificamos un error que al admin no lo deja pasar

        //test para validar situacion

        $firstResponse->assertStatus(403); // si recibe 500 dira que no paso

        // Si el usuario es workshop puede ver las categorias
        $workshop = User::factory()->create();
        $token = $workshop->createToken('workshop')->plainTextToken;
        Sanctum::actingAs($workshop,['*']);

        $secondResponse = $this->get($url,[
            'Accept' => 'application/json',
            'Content-Type' => 'application/json',
            'Authorization' => "Bearer $token"
        ]);

        $secondResponse->assertStatus(200);

    }
}