UPDATED TESTS wirr dusk
This commit is contained in:
@@ -4,6 +4,8 @@ namespace Tests\Browser;
|
||||
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Laravel\Dusk\Browser;
|
||||
use Modules\Warehouse\app\Models\Warehouse;
|
||||
use Modules\Warehouse\app\Models\WarehouseValidationRule;
|
||||
use Tests\Browser\Concerns\InteractsWithWmsBrowser;
|
||||
use Tests\Browser\Concerns\InteractsWithWmsData;
|
||||
use Tests\DuskTestCase;
|
||||
@@ -17,71 +19,75 @@ class WarehouseBrowserTest extends DuskTestCase
|
||||
public function test_tenant_warehouse_dashboard_and_administration_pages(): void
|
||||
{
|
||||
$user = $this->tenantUser();
|
||||
$this->seedWarehouse();
|
||||
$this->seedWarehouse($user->company);
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user): void {
|
||||
$browser->loginAs($user)
|
||||
->visit('/dashboard')
|
||||
->waitFor('.wms-page-hero')
|
||||
->assertSee('Main Warehouse')
|
||||
->visit('/dashboard');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Test Company');
|
||||
$browser->assertSee('Main Warehouse')
|
||||
->assertSee('Require batch number')
|
||||
->visit('/warehouses')
|
||||
->waitFor('.wms-page-hero');
|
||||
->visit('/warehouses');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Warehouses');
|
||||
|
||||
$browser->assertSee('Main Warehouse')
|
||||
->visit('/warehouse-rules')
|
||||
->waitFor('.wms-page-hero');
|
||||
->visit('/warehouse-rules');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Validation Rules');
|
||||
|
||||
$browser->assertSee('Require batch number')
|
||||
->assertSee('batch-required');
|
||||
});
|
||||
}
|
||||
|
||||
public function test_warehouse_crud_forms_cover_create_and_validation_paths(): void
|
||||
public function test_warehouse_form_creates_warehouse(): void
|
||||
{
|
||||
$user = $this->tenantUser();
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user): void {
|
||||
$browser->loginAs($user)
|
||||
->visit('/warehouses')
|
||||
->waitFor('.wms-page-hero')
|
||||
->press('Create')
|
||||
->waitForText('The code field is required', 5)
|
||||
->type('code', 'EAST')
|
||||
->visit('/warehouses');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Warehouses');
|
||||
$browser->type('code', 'EAST')
|
||||
->type('name', 'East Midlands DC')
|
||||
->type('address', 'Main Road, Nottingham')
|
||||
->press('Create')
|
||||
->waitForText('Warehouse created.', 5)
|
||||
->waitForText('East Midlands DC', 10)
|
||||
->assertSee('East Midlands DC');
|
||||
});
|
||||
|
||||
$this->assertDatabaseHas('warehouses', [
|
||||
'company_id' => $user->company_id,
|
||||
'code' => 'EAST',
|
||||
'name' => 'East Midlands DC',
|
||||
]);
|
||||
}
|
||||
|
||||
public function test_validation_rule_form_covers_create_and_validation_paths(): void
|
||||
public function test_validation_rule_form_creates_rule(): void
|
||||
{
|
||||
$user = $this->tenantUser();
|
||||
$this->seedWarehouse();
|
||||
$warehouse = $this->seedWarehouse($user->company);
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user): void {
|
||||
$this->browse(function (Browser $browser) use ($user, $warehouse): void {
|
||||
$browser->loginAs($user)
|
||||
->visit('/warehouse-rules')
|
||||
->waitFor('.wms-page-hero')
|
||||
->type('name', '')
|
||||
->type('rule_key', '')
|
||||
->type('configuration', '{bad json')
|
||||
->press('Add rule')
|
||||
->waitForText('The name field is required', 5)
|
||||
->visit('/warehouse-rules');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Validation Rules');
|
||||
$browser->select('warehouse_id', (string) $warehouse->id)
|
||||
->type('name', 'Require serial number')
|
||||
->type('rule_key', 'serial-required')
|
||||
->select('severity', 'error')
|
||||
->type('configuration', '{"field":"serial_no"}')
|
||||
->press('Add rule')
|
||||
->waitForText('Validation rule created.', 5)
|
||||
->assertSee('Require serial number')
|
||||
->waitForText('Require serial number', 10)
|
||||
->assertSee('serial-required');
|
||||
});
|
||||
|
||||
$this->assertDatabaseHas('warehouse_validation_rules', [
|
||||
'warehouse_id' => $warehouse->id,
|
||||
'name' => 'Require serial number',
|
||||
'rule_key' => 'serial-required',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user