Files
exchange/tests/Feature/BookingTest.php
T

139 lines
4.1 KiB
PHP

<?php
namespace Tests\Unit\BookingTest;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Database\Seeder;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\UploadedFile;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider;
use Auth;
use Artisan;
use App\User;
use App\Booking;
use App\UserBankSlip;
class BookingTest extends TestCase
{
protected $user;
protected $booking;
protected $userBankSlip;
public function setUp()
{
parent::setUp();
Artisan::call('db:seed');
$this->user = factory(User::class)->create();
$this->booking = factory(Booking::class)->create([
'user_id' => $this->user->id
]);
$this->userBankSlip = factory(UserBankSlip::class)->create([
'booking_id' => $this->booking->id
]);
}
public function testPost()
{
$response =
$this->actingAs($this->user)
->postJson('/api/booking/', [
'account_name' => 'johnny',
'account_num' => '1234567',
'bank_name' => 'myabnak',
'bank_branch' => 'banking',
'company_name' => 'besaras',
'company_address' => 'californina',
'bank_address' => 'cyber',
'swift_code' => '123wert',
'cnap' => '2131rew',
'term' => 'x2_cash',
'amount' => '14000',
'rmb_book_amount' => '2131',
'rmb_book_pay_method' => '2131rea',
'rmb_book_account_name' => '2131rew',
'rmb_book_acc_no' => '2131',
'rmb_book_bank_branch' => '2131rew',
'usd_book_amount' => '2131',
'usd_book_pay_method' => '2131rew',
'usd_book_company_name' => '2131rew',
'usd_book_company_address' => '2131rew',
'usd_book_swift_code' => '2131rew',
'usd_book_cnap' => '2131rew',
'usd_book_bank_branch' => '2131rew',
'verification_status' => '1'
])
->assertStatus(201);
}
public function testuploadbankslip()
{
Storage::fake('file');
$bankslip_url = UploadedFile::fake()->image('comp.jpg');
if(!file_exists($bankslip_url)){
$response->assertStatus(400);
}
$this->actingAs($this->user)
->json('POST', '/api/booking/' . $this->booking->id . '/upload-user-bankslip', [
'file' => $bankslip_url
])
->assertSuccessful();
}
public function testUpdateBankslipAmount()
{
$this->actingAs($this->user)
->json('PATCH', '/api/booking/' . $this->booking->id . '/bankslip-amount', [
'transfer_amount' => '9000'
])
->assertSuccessful();
}
public function testuploadPO()
{
Storage::fake('image_url');
$image_url = UploadedFile::fake()->image('comp.jpg');
if(!file_exists($image_url)){
$response->assertStatus(400);
}
$this->actingAs($this->user)
->json('POST', '/api/booking/' . $this->booking->id . '/upload-po', [
'file' => UploadedFile::fake()->image('comp.jpg'),
'amount' => '12345'
])
->assertSuccessful();
}
public function testCancel()
{
$this->actingAs($this->user)
->json('POST','/api/booking/' . $this->booking->id . '/cancel', [])
->assertSuccessful();
}
public function testApproveBankSlip()
{
$this->actingAs($this->user)
->json('POST','/api/booking/' . $this->booking->id . '/approve-bank-slip', [])
->assertSuccessful();
}
public function testRejectBankSlip()
{
$this->actingAs($this->user)
->json('POST','/api/booking/' . $this->booking->id . '/reject-bank-slip', [
'reject_reason' => 'Amount no enough'
])
->assertSuccessful();
}
}