39 lines
1.2 KiB
PHP
39 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit;
|
|
|
|
use Tests\TestCase;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use App\Models\Confeccion;
|
|
use App\Models\Recepcion;
|
|
use App\Models\Proveedor;
|
|
use App\Models\OrdenProduccion;
|
|
|
|
class ConfeccionRecepcionesTest extends TestCase
|
|
{
|
|
use RefreshDatabase;
|
|
|
|
/** @test */
|
|
public function recibido_total_and_faltantes_are_calculated_from_recepciones()
|
|
{
|
|
$proveedor = Proveedor::factory()->create(['categoria' => 'talleres']);
|
|
$op = OrdenProduccion::factory()->create(['cantidad_total' => 100]);
|
|
|
|
$conf = Confeccion::create([
|
|
'proveedor_id' => $proveedor->id,
|
|
'orden_produccion_id' => $op->id,
|
|
'cantidad_enviada' => 100,
|
|
]);
|
|
|
|
// Crear recepciones 40 y 40 con defectos en la segunda (10)
|
|
Recepcion::create(['referencia_type' => Confeccion::class,'referencia_id' => $conf->id,'cantidad' => 40]);
|
|
Recepcion::create(['referencia_type' => Confeccion::class,'referencia_id' => $conf->id,'cantidad' => 40, 'prendas_defectuosas' => 10]);
|
|
|
|
$conf->refresh();
|
|
|
|
// recibido efectivo: 40 + (40 - 10) = 70
|
|
$this->assertEquals(70, $conf->recibido_total);
|
|
$this->assertEquals(30, $conf->faltantes);
|
|
}
|
|
}
|