Repo rebuild
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Browser;
|
||||
|
||||
use Laravel\Dusk\Browser;
|
||||
use Tests\Browser\Concerns\InteractsWithWmsBrowser;
|
||||
use Tests\Browser\Concerns\InteractsWithWmsData;
|
||||
use Tests\DuskTestCase;
|
||||
|
||||
class WarehouseBrowserTest extends DuskTestCase
|
||||
{
|
||||
use InteractsWithWmsBrowser;
|
||||
use InteractsWithWmsData;
|
||||
|
||||
public function test_tenant_warehouse_dashboard_and_administration_pages(): void
|
||||
{
|
||||
$user = $this->tenantUser();
|
||||
$warehouse = $this->seedWarehouse($user->company);
|
||||
$ruleName = 'Require expiry date ' . uniqid();
|
||||
$ruleKey = 'expiry-required-' . uniqid();
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user, $warehouse, $ruleName, $ruleKey): void {
|
||||
$browser->loginAs($user)
|
||||
->visit('/dashboard');
|
||||
|
||||
$this->assertSingleProfessionalHeaderExists($browser);
|
||||
|
||||
$browser->assertPresent('.wms-page-hero')
|
||||
->visit('/warehouses');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Warehouses');
|
||||
|
||||
$browser->assertPathIs('/warehouses')
|
||||
->visit('/warehouse-rules')
|
||||
->assertPathIs('/warehouse-rules');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Validation Rules');
|
||||
|
||||
$browser->assertSee('Validation Rules')
|
||||
->select('warehouse_id', (string) $warehouse->id)
|
||||
->type('name', $ruleName)
|
||||
->type('rule_key', $ruleKey)
|
||||
->select('severity', 'error')
|
||||
->type('configuration', '{"field":"expires_at"}')
|
||||
->press('Add rule')
|
||||
->waitForText($ruleName, 10)
|
||||
->assertSee($ruleName)
|
||||
->assertSee($ruleKey);
|
||||
});
|
||||
}
|
||||
|
||||
public function test_warehouse_form_creates_warehouse(): void
|
||||
{
|
||||
$user = $this->tenantUser();
|
||||
|
||||
$user->company->warehouses()->delete();
|
||||
|
||||
$warehouseName = 'East Midlands DC ' . uniqid();
|
||||
$warehouseCode = 'E' . substr(strtoupper(uniqid()), -4);
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user, $warehouseName, $warehouseCode): void {
|
||||
$browser->loginAs($user)
|
||||
->visit('/warehouses');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Warehouses');
|
||||
|
||||
$browser->type('code', $warehouseCode)
|
||||
->type('name', $warehouseName)
|
||||
->type('address', 'Main Road, Nottingham')
|
||||
->press('Create')
|
||||
->waitForText($warehouseName, 20)
|
||||
->assertSee($warehouseName);
|
||||
});
|
||||
}
|
||||
|
||||
public function test_validation_rule_form_creates_rule(): void
|
||||
{
|
||||
$user = $this->tenantUser();
|
||||
$warehouse = $this->seedWarehouse($user->company);
|
||||
|
||||
$ruleName = 'Require serial number ' . uniqid();
|
||||
$ruleKey = 'serial-required-' . uniqid();
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user, $warehouse, $ruleName, $ruleKey): void {
|
||||
$browser->loginAs($user)
|
||||
->visit('/warehouse-rules');
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, 'Validation Rules');
|
||||
$browser->select('warehouse_id', (string) $warehouse->id)
|
||||
->type('name', $ruleName)
|
||||
->type('rule_key', $ruleKey)
|
||||
->select('severity', 'error')
|
||||
->type('configuration', '{"field":"serial_no"}')
|
||||
->press('Add rule')
|
||||
->waitForText($ruleName, 10)
|
||||
->assertSee($ruleKey);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user