You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
4.4 KiB
120 lines
4.4 KiB
<?php
|
|
|
|
namespace Tests\Feature;
|
|
|
|
use App\Transaction;
|
|
use Tests\BrowserKitTestCase;
|
|
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
|
|
|
class ManageTransactionsTest extends BrowserKitTestCase
|
|
{
|
|
use DatabaseMigrations;
|
|
|
|
/** @test */
|
|
public function user_can_see_transactions_in_transactions_index_page()
|
|
{
|
|
$transaction1 = factory(Transaction::class)->create();
|
|
$transaction2 = factory(Transaction::class)->create();
|
|
|
|
$this->loginAsUser();
|
|
$this->visit(route('transactions.index'));
|
|
$this->see($transaction1->invoice_no);
|
|
$this->see($transaction2->invoice_no);
|
|
}
|
|
|
|
/** @test */
|
|
public function user_can_see_search_transactions_by_invoice_number()
|
|
{
|
|
$transaction1 = factory(Transaction::class)->create();
|
|
$transaction2 = factory(Transaction::class)->create();
|
|
|
|
$this->loginAsUser();
|
|
$this->visit(route('transactions.index', ['q' => $transaction2->invoice_no]));
|
|
$this->dontSee($transaction1->invoice_no);
|
|
$this->see($transaction2->invoice_no);
|
|
}
|
|
|
|
/** @test */
|
|
public function user_can_see_search_transactions_by_customer_name()
|
|
{
|
|
$transaction1 = factory(Transaction::class)->create(['customer' => ['name' => 'Nafies', 'phone' => '081234567890']]);
|
|
$transaction2 = factory(Transaction::class)->create();
|
|
|
|
$this->loginAsUser();
|
|
$this->visit(route('transactions.index', ['q' => 'nafies']));
|
|
$this->see($transaction1->invoice_no);
|
|
$this->dontSee($transaction2->invoice_no);
|
|
}
|
|
|
|
/** @test */
|
|
public function user_can_see_search_transactions_by_customer_phone()
|
|
{
|
|
$transaction1 = factory(Transaction::class)->create(['customer' => ['name' => 'Nafies', 'phone' => '081234567890']]);
|
|
$transaction2 = factory(Transaction::class)->create();
|
|
|
|
$this->loginAsUser();
|
|
$this->visit(route('transactions.index', ['q' => '7890']));
|
|
$this->see($transaction1->invoice_no);
|
|
$this->dontSee($transaction2->invoice_no);
|
|
}
|
|
|
|
/** @test */
|
|
public function user_can_see_search_transactions_by_date()
|
|
{
|
|
$transaction1 = factory(Transaction::class)->create(['created_at' => '2016-02-01']);
|
|
$transaction2 = factory(Transaction::class)->create(['created_at' => '2016-02-02']);
|
|
|
|
$this->loginAsUser();
|
|
$this->visit(route('transactions.index', ['date' => '2016-02-01']));
|
|
$this->see($transaction1->invoice_no);
|
|
$this->dontSee($transaction2->invoice_no);
|
|
}
|
|
|
|
/** @test */
|
|
public function user_can_see_search_transactions_by_invoice_no_and_date()
|
|
{
|
|
$transaction1 = factory(Transaction::class)->create([
|
|
'invoice_no' => '123456',
|
|
'created_at' => '2016-02-01',
|
|
]);
|
|
$transaction2 = factory(Transaction::class)->create(['created_at' => '2016-02-01']);
|
|
|
|
$this->loginAsUser();
|
|
$this->visit(route('transactions.index', ['q' => '123', 'date' => '2016-02-01']));
|
|
$this->see($transaction1->invoice_no);
|
|
$this->dontSee($transaction2->invoice_no);
|
|
}
|
|
|
|
/** @test */
|
|
public function user_can_see_search_transactions_by_customer_name_and_date()
|
|
{
|
|
$transaction1 = factory(Transaction::class)->create([
|
|
'customer' => ['name' => 'Nafies', 'phone' => '081234567890'],
|
|
'created_at' => '2016-02-01',
|
|
]);
|
|
$transaction2 = factory(Transaction::class)->create(['created_at' => '2016-02-01']);
|
|
|
|
$this->loginAsUser();
|
|
$this->visit(route('transactions.index', ['q' => 'Nafies', 'date' => '2016-02-01']));
|
|
$this->see($transaction1->invoice_no);
|
|
$this->dontSee($transaction2->invoice_no);
|
|
}
|
|
|
|
/** @test */
|
|
public function user_can_see_search_transactions_by_customer_phone_and_date()
|
|
{
|
|
$transaction1 = factory(Transaction::class)->create([
|
|
'customer' => ['name' => 'Nafies', 'phone' => '081234567890'],
|
|
'created_at' => '2016-02-01',
|
|
]);
|
|
$transaction2 = factory(Transaction::class)->create([
|
|
'customer' => ['name' => 'Luthfi', 'phone' => '081234567891'],
|
|
'created_at' => '2016-02-01',
|
|
]);
|
|
|
|
$this->loginAsUser();
|
|
$this->visit(route('transactions.index', ['q' => '7890', 'date' => '2016-02-01']));
|
|
$this->see($transaction1->invoice_no);
|
|
$this->dontSee($transaction2->invoice_no);
|
|
}
|
|
}
|