<?php

namespace Tests\Feature;

use App\Domain\Empresa\Models\Empresa;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;

class EmpresaTest extends TestCase
{
    use RefreshDatabase;

    public function test_criar_empresa_com_sucesso(): void
    {
        $dados = [
            'nome' => 'Empresa Teste',
            'cnpj' => '12345678000199',
            'email' => 'empresa@teste.com',
            'telefone' => '11999999999'
        ];

        $response = $this->postJson('/api/empresas', $dados);

        $response->assertStatus(201)
            ->assertJsonStructure([
                'data' => [
                    'id',
                    'nome',
                    'cnpj',
                    'email',
                    'telefone',
                    'created_at',
                    'updated_at'
                ],
                'message'
            ])
            ->assertJson([
                'data' => [
                    'nome' => $dados['nome'],
                    'cnpj' => $dados['cnpj'],
                    'email' => $dados['email'],
                    'telefone' => $dados['telefone']
                ],
                'message' => 'Empresa criada com sucesso'
            ]);

        $this->assertDatabaseHas('empresas', [
            'nome' => $dados['nome'],
            'cnpj' => $dados['cnpj']
        ]);
    }
} 