netgescon-master/netgescon-laravel/tests/Feature/RipartizioneSpesaTest.php

56 lines
1.7 KiB
PHP

<?php
namespace Tests\Feature;
use App\Models\RipartizioneSpese;
use App\Models\DettaglioRipartizioneSpese;
use App\Models\VoceSpesa;
use App\Models\Stabile;
use App\Models\User;
use App\Models\TabellaMillesimale;
use App\Models\UnitaImmobiliare;
use App\Models\AnagraficaCondominiale;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class RipartizioneSpesaTest extends TestCase
{
use RefreshDatabase;
protected function setUp(): void
{
parent::setUp();
}
public function test_ripartizione_spesa_creation()
{
$user = User::factory()->create();
$stabile = Stabile::factory()->create();
$ripartizione = RipartizioneSpese::create([
'stabile_id' => $stabile->id,
'importo_totale' => 5000.00,
'data_ripartizione' => now(),
'creato_da' => $user->id,
]);
$this->assertInstanceOf(RipartizioneSpese::class, $ripartizione);
$this->assertEquals(5000.00, $ripartizione->importo_totale);
$this->assertNotNull($ripartizione->codice_ripartizione);
$this->assertTrue(strlen($ripartizione->codice_ripartizione) === 8);
$this->assertEquals('bozza', $ripartizione->stato);
}
public function test_ripartizione_spesa_generate_code()
{
$codice1 = RipartizioneSpese::generaCodiceRipartizione();
$codice2 = RipartizioneSpese::generaCodiceRipartizione();
$this->assertNotEquals($codice1, $codice2);
$this->assertTrue(strlen($codice1) === 8);
$this->assertTrue(strlen($codice2) === 8);
$this->assertStringStartsWith('RPS', $codice1);
$this->assertStringStartsWith('RPS', $codice2);
}
}