188 lines
6.2 KiB
PHP
188 lines
6.2 KiB
PHP
<?php
|
|
|
|
use App\Models\Fornitore;
|
|
use App\Models\Stabile;
|
|
use App\Models\User;
|
|
use App\Models\Amministratore;
|
|
use App\Models\GestioneContabile;
|
|
use App\Models\VoceSpesa;
|
|
use App\Models\OperazioneContabile;
|
|
use App\Modules\Contabilita\Models\MovimentoBanca;
|
|
use App\Filament\Pages\Gescon\Ordinarie;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Livewire\Livewire;
|
|
|
|
uses(RefreshDatabase::class);
|
|
|
|
test('operazioni_contabili and movimenti_banca use relational database columns and models', function () {
|
|
$user = User::factory()->create();
|
|
$user->assignRole('super-admin');
|
|
$this->actingAs($user);
|
|
|
|
$amministratore = Amministratore::create([
|
|
'user_id' => $user->id,
|
|
'nome' => 'Admin',
|
|
'cognome' => 'Test',
|
|
'denominazione' => 'Amministrazione Test',
|
|
'codice_fiscale' => '12345678901',
|
|
]);
|
|
|
|
$stabile = Stabile::create([
|
|
'amministratore_id' => $amministratore->id,
|
|
'codice_stabile' => '0013',
|
|
'denominazione' => 'Condominio Ottaviano 105',
|
|
'codice_fiscale' => '80012345678',
|
|
'indirizzo' => 'Via Ottaviano 105',
|
|
'citta' => 'Roma',
|
|
'cap' => '00192',
|
|
'provincia' => 'RM',
|
|
'codice_destinatario_sdi' => '0000000',
|
|
]);
|
|
|
|
$gestione = GestioneContabile::create([
|
|
'tenant_id' => 'default',
|
|
'stabile_id' => $stabile->id,
|
|
'anno_gestione' => 2025,
|
|
'tipo_gestione' => 'ordinaria',
|
|
'denominazione' => 'Gestione Ordinaria 2025',
|
|
'data_inizio' => '2025-01-01',
|
|
'data_fine' => '2025-12-31',
|
|
'stato' => 'aperta',
|
|
'protocollo_prefix' => 'O2025',
|
|
]);
|
|
|
|
$fornitore = Fornitore::create([
|
|
'amministratore_id' => $amministratore->id,
|
|
'ragione_sociale' => 'GAIA CONSORZIO',
|
|
'codice_fiscale' => '01234567890',
|
|
]);
|
|
|
|
$voceSpesa = VoceSpesa::create([
|
|
'stabile_id' => $stabile->id,
|
|
'gestione_id' => $gestione->id,
|
|
'codice' => 'MANUT01',
|
|
'descrizione' => 'Spese Manutenzione Ordinaria',
|
|
'categoria' => 'ordinaria',
|
|
'tipo_gestione' => 'ordinaria',
|
|
]);
|
|
|
|
$movimentoBanca = MovimentoBanca::create([
|
|
'stabile_id' => $stabile->id,
|
|
'conto_bancario_id' => 8,
|
|
'row_hash' => md5('unique_row_hash_1'),
|
|
'data' => '2025-01-15',
|
|
'data_valuta' => '2025-01-15',
|
|
'importo' => -1416.00,
|
|
'descrizione' => 'SALDO FT N. FEP858 DEL 17/12/24',
|
|
'tipo_operazione' => 'bonifico_uscita',
|
|
'beneficiario' => 'GAIA CONSORZIO',
|
|
'rif_documento' => 'FEP858',
|
|
'rif_disposizione' => 'MB0B19323168/90370001',
|
|
'categoria_banca' => 'Servizi - Spese per manutenzione',
|
|
'fornitore_id' => $fornitore->id,
|
|
'stato_riconciliazione' => 'riconciliato',
|
|
]);
|
|
|
|
$operazione = OperazioneContabile::create([
|
|
'gestione_id' => $gestione->id,
|
|
'stabile_id' => $stabile->id,
|
|
'protocollo_numero' => 1,
|
|
'protocollo_completo' => 'O2025-001',
|
|
'data_operazione' => '2025-01-15',
|
|
'data_competenza' => '2025-01-15',
|
|
'descrizione' => 'Fattura Manutenzione GAIA Consorzio',
|
|
'dare' => 1416.00,
|
|
'avere' => 0.00,
|
|
'fornitore_id' => $fornitore->id,
|
|
'voce_spesa_id' => $voceSpesa->id,
|
|
'cod_spe' => '03',
|
|
'tabella' => 'A',
|
|
'cod_for' => '0012',
|
|
'num_fat' => 'FEP858',
|
|
'dt_fat' => '2024-12-17',
|
|
'rif_rda' => 'RDA123',
|
|
'movimento_bancario_id' => $movimentoBanca->id,
|
|
]);
|
|
|
|
expect($operazione->fornitore->ragione_sociale)->toBe('GAIA CONSORZIO');
|
|
expect($operazione->voceSpesa->descrizione)->toBe('Spese Manutenzione Ordinaria');
|
|
expect($operazione->movimentoBancario->beneficiario)->toBe('GAIA CONSORZIO');
|
|
expect($operazione->movimentoBancario->rif_documento)->toBe('FEP858');
|
|
expect($movimentoBanca->tipo_operazione)->toBe('bonifico_uscita');
|
|
});
|
|
|
|
test('gescon ordinarie page builds query and renders db relational data', function () {
|
|
config(['netgescon.modules.gescon_internal_visible' => true]);
|
|
|
|
$user = User::factory()->create();
|
|
$user->assignRole('super-admin');
|
|
$this->actingAs($user);
|
|
|
|
$amministratore = Amministratore::create([
|
|
'user_id' => $user->id,
|
|
'nome' => 'Admin',
|
|
'cognome' => 'Test',
|
|
'denominazione' => 'Amministrazione Test',
|
|
'codice_fiscale' => '12345678901',
|
|
]);
|
|
|
|
$stabile = Stabile::create([
|
|
'amministratore_id' => $amministratore->id,
|
|
'codice_stabile' => '0013',
|
|
'denominazione' => 'Condominio Ottaviano 105',
|
|
'codice_fiscale' => '80012345678',
|
|
'indirizzo' => 'Via Ottaviano 105',
|
|
'citta' => 'Roma',
|
|
'cap' => '00192',
|
|
'provincia' => 'RM',
|
|
'codice_destinatario_sdi' => '0000000',
|
|
]);
|
|
|
|
$gestione = GestioneContabile::create([
|
|
'tenant_id' => 'default',
|
|
'stabile_id' => $stabile->id,
|
|
'anno_gestione' => 2025,
|
|
'tipo_gestione' => 'ordinaria',
|
|
'denominazione' => 'Gestione Ordinaria 2025',
|
|
'data_inizio' => '2025-01-01',
|
|
'data_fine' => '2025-12-31',
|
|
'stato' => 'aperta',
|
|
'protocollo_prefix' => 'O2025',
|
|
]);
|
|
|
|
$fornitore = Fornitore::create([
|
|
'amministratore_id' => $amministratore->id,
|
|
'ragione_sociale' => 'PULIZIE SRL',
|
|
'codice_fiscale' => '09876543210',
|
|
]);
|
|
|
|
$operazione = OperazioneContabile::create([
|
|
'gestione_id' => $gestione->id,
|
|
'stabile_id' => $stabile->id,
|
|
'protocollo_numero' => 2,
|
|
'protocollo_completo' => 'O2025-002',
|
|
'data_operazione' => '2025-02-01',
|
|
'data_competenza' => '2025-02-01',
|
|
'descrizione' => 'Pulizia scale febbraio',
|
|
'dare' => 500.00,
|
|
'avere' => 0.00,
|
|
'fornitore_id' => $fornitore->id,
|
|
'cod_spe' => '01',
|
|
'tabella' => 'A',
|
|
'cod_for' => '0005',
|
|
'num_fat' => '12/2025',
|
|
'dt_fat' => '2025-01-31',
|
|
]);
|
|
|
|
session([
|
|
'current_stabile_id' => $stabile->id,
|
|
'active_anno_gestione' => 2025,
|
|
]);
|
|
|
|
Livewire::test(Ordinarie::class, ['filterAnno' => 2025])
|
|
->set('filterAnno', 2025)
|
|
->assertSuccessful()
|
|
->assertSee('Pulizia scale febbraio')
|
|
->assertSee('PULIZIE SRL');
|
|
});
|