|
@@ -504,6 +504,8 @@ class OrderControllerTest extends TestCase
|
|
|
'rfid' => 'RFID-ORDER-OLD',
|
|
'rfid' => 'RFID-ORDER-OLD',
|
|
|
'factory_number' => 'FN-ORDER-OLD',
|
|
'factory_number' => 'FN-ORDER-OLD',
|
|
|
'manufacture_date' => '2026-05-19',
|
|
'manufacture_date' => '2026-05-19',
|
|
|
|
|
+ 'statement_number' => 'STAT-ORDER-OLD',
|
|
|
|
|
+ 'statement_date' => '2026-05-18',
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
|
$response = $this->actingAs($this->adminUser)
|
|
$response = $this->actingAs($this->adminUser)
|
|
@@ -514,6 +516,10 @@ class OrderControllerTest extends TestCase
|
|
|
$response->assertSee('data-field="rfid"', false);
|
|
$response->assertSee('data-field="rfid"', false);
|
|
|
$response->assertSee('data-field="factory_number"', false);
|
|
$response->assertSee('data-field="factory_number"', false);
|
|
|
$response->assertSee('data-field="manufacture_date"', false);
|
|
$response->assertSee('data-field="manufacture_date"', false);
|
|
|
|
|
+ $response->assertSee('data-field="statement_number"', false);
|
|
|
|
|
+ $response->assertSee('data-field="statement_date"', false);
|
|
|
|
|
+ $response->assertSee('Добавить Ведомость');
|
|
|
|
|
+ $response->assertSee(route('order.add-statement-to-mafs', $order), false);
|
|
|
$response->assertSee(route('product_sku.inline-update', $sku->id), false);
|
|
$response->assertSee(route('product_sku.inline-update', $sku->id), false);
|
|
|
$response->assertSee('upload-maf-passport', false);
|
|
$response->assertSee('upload-maf-passport', false);
|
|
|
$response->assertSee(route('product-sku.upload-passport', ['product_sku' => $sku]), false);
|
|
$response->assertSee(route('product-sku.upload-passport', ['product_sku' => $sku]), false);
|
|
@@ -538,6 +544,72 @@ class OrderControllerTest extends TestCase
|
|
|
$response->assertDontSee(route('product-sku.upload-passport', ['product_sku' => $sku]), false);
|
|
$response->assertDontSee(route('product-sku.upload-passport', ['product_sku' => $sku]), false);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function test_can_add_statement_to_selected_mafs_on_order(): void
|
|
|
|
|
+ {
|
|
|
|
|
+ $order = Order::factory()->create();
|
|
|
|
|
+ $otherOrder = Order::factory()->create();
|
|
|
|
|
+ $product = Product::factory()->create();
|
|
|
|
|
+ $selectedSku = ProductSKU::factory()->create([
|
|
|
|
|
+ 'order_id' => $order->id,
|
|
|
|
|
+ 'product_id' => $product->id,
|
|
|
|
|
+ 'statement_number' => null,
|
|
|
|
|
+ 'statement_date' => null,
|
|
|
|
|
+ ]);
|
|
|
|
|
+ $notSelectedSku = ProductSKU::factory()->create([
|
|
|
|
|
+ 'order_id' => $order->id,
|
|
|
|
|
+ 'product_id' => $product->id,
|
|
|
|
|
+ 'statement_number' => null,
|
|
|
|
|
+ 'statement_date' => null,
|
|
|
|
|
+ ]);
|
|
|
|
|
+ $otherOrderSku = ProductSKU::factory()->create([
|
|
|
|
|
+ 'order_id' => $otherOrder->id,
|
|
|
|
|
+ 'product_id' => $product->id,
|
|
|
|
|
+ 'statement_number' => null,
|
|
|
|
|
+ 'statement_date' => null,
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ $response = $this->actingAs($this->adminUser)
|
|
|
|
|
+ ->post(route('order.add-statement-to-mafs', $order), [
|
|
|
|
|
+ 'statement_number' => 'STAT-2026-05',
|
|
|
|
|
+ 'statement_date' => '2026-05-19',
|
|
|
|
|
+ 'skus' => [$selectedSku->id, $otherOrderSku->id],
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ $response->assertRedirect();
|
|
|
|
|
+ $response->assertSessionHas('success', 'Ведомость добавлена к МАФ: 1.');
|
|
|
|
|
+
|
|
|
|
|
+ $this->assertDatabaseHas('products_sku', [
|
|
|
|
|
+ 'id' => $selectedSku->id,
|
|
|
|
|
+ 'statement_number' => 'STAT-2026-05',
|
|
|
|
|
+ 'statement_date' => '2026-05-19',
|
|
|
|
|
+ ]);
|
|
|
|
|
+ $this->assertDatabaseHas('products_sku', [
|
|
|
|
|
+ 'id' => $notSelectedSku->id,
|
|
|
|
|
+ 'statement_number' => null,
|
|
|
|
|
+ 'statement_date' => null,
|
|
|
|
|
+ ]);
|
|
|
|
|
+ $this->assertDatabaseHas('products_sku', [
|
|
|
|
|
+ 'id' => $otherOrderSku->id,
|
|
|
|
|
+ 'statement_number' => null,
|
|
|
|
|
+ 'statement_date' => null,
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function test_add_statement_to_mafs_requires_field_permissions(): void
|
|
|
|
|
+ {
|
|
|
|
|
+ $order = Order::factory()->create();
|
|
|
|
|
+ $sku = ProductSKU::factory()->create(['order_id' => $order->id]);
|
|
|
|
|
+
|
|
|
|
|
+ $response = $this->actingAs($this->managerUser)
|
|
|
|
|
+ ->post(route('order.add-statement-to-mafs', $order), [
|
|
|
|
|
+ 'statement_number' => 'STAT-DENIED',
|
|
|
|
|
+ 'statement_date' => '2026-05-19',
|
|
|
|
|
+ 'skus' => [$sku->id],
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ $response->assertForbidden();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public function test_brigadier_cannot_view_handed_over_order_details(): void
|
|
public function test_brigadier_cannot_view_handed_over_order_details(): void
|
|
|
{
|
|
{
|
|
|
$order = Order::factory()->create([
|
|
$order = Order::factory()->create([
|