From 67b966f40f4f9819e4c128fc52111405d867a776 Mon Sep 17 00:00:00 2001 From: Too Date: Fri, 15 Jun 2018 18:21:12 +0800 Subject: [PATCH] add file checking in bookingtest. optimize some code. --- app/Http/Controllers/BookingController.php | 40 ++++++++++------------ tests/Feature/BookingTest.php | 14 ++++++-- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 0d6255c4..cd47742a 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -111,31 +111,27 @@ class BookingController extends Controller public function update(Request $request, $book_id) { - if (!Auth::check()) - { - return response()->json(['message'=>'not loggin'],200); - } - $book_id = Booking::find($book_id); - $book_id->account_name = $request->input('account_name'); - $book_id->account_num = $request->input('account_num'); - $book_id->bank_name = $request->input('bank_name'); - $book_id->bank_branch = $request->input('bank_branch'); - $book_id->company_name = $request->input('company_name'); - $book_id->company_address = $request->input('company_address'); - $book_id->bank_address = $request->input('bank_address'); - $book_id->swift_code = $request->input('swift_code'); - $book_id->cnap = $request->input('cnap'); - $book_id->save(); - - return response()->json(['book_id'=>$book_id],200); + $book_id = Booking::find($book_id); + $book_id->account_name = $request->input('account_name'); + $book_id->account_num = $request->input('account_num'); + $book_id->bank_name = $request->input('bank_name'); + $book_id->bank_branch = $request->input('bank_branch'); + $book_id->company_name = $request->input('company_name'); + $book_id->company_address = $request->input('company_address'); + $book_id->bank_address = $request->input('bank_address'); + $book_id->swift_code = $request->input('swift_code'); + $book_id->cnap = $request->input('cnap'); + $book_id->save(); + + return response()->json(['book_id'=>$book_id],200); } public function uploadbankslip(Request $request, $id) { - $booking = Booking::find($id); + $booking = Booking::where('user_id',Auth::user()->id)->where('id',$id)->first(); /* Validation*/ - if (!$booking || Auth::user()->id != $booking->user_id) + if (!$booking) { return response()->json(['message'=>'Access denied'], 200); } @@ -179,9 +175,10 @@ class BookingController extends Controller public function uploadPurchaseOrder(Request $request, $id) { - $booking = Booking::find($id); + $booking = Booking::where('user_id',Auth::user()->id)->where('id',$id)->first(); + /* Validation */ - if (!$booking || Auth::user()->id != $booking->user_id) + if (!$booking) { return response()->json(['message'=>'Access denied'], 200); } @@ -212,7 +209,6 @@ class BookingController extends Controller 'image_url',/*folder name*/ $user_input_file, $unique_image_url ); - $booking = Booking::find($id); $user_po = new PurchaseOrder; $user_po->image_url = $unique_image_url; $user_po->book_id = $booking->id; diff --git a/tests/Feature/BookingTest.php b/tests/Feature/BookingTest.php index c25c3ab9..7ec79a24 100644 --- a/tests/Feature/BookingTest.php +++ b/tests/Feature/BookingTest.php @@ -23,7 +23,7 @@ class BookingTest extends TestCase { parent::setUp(); Artisan::call('db:seed'); - $this->user = User::Find(1); + $this->user = factory(User::class)->create(); } public function testPost() @@ -61,11 +61,15 @@ class BookingTest extends TestCase public function testuploadbankslip() { - $this->actingAs($this->user); + $this->actingAs($this->user); Storage::fake('bankslip_url'); + $bankslip_url = UploadedFile::fake()->image('comp.jpg'); + if(!file_exists($bankslip_url)){ + $response->assertStatus(400); + } $response = $this->json('POST', '/api/booking/1/upload-user-bankslip', [ - 'bankslip_url' => UploadedFile::fake()->image('comp.jpg'), + 'bankslip_url' => $bankslip_url, 'transfer_amount' => '9000' ]); $response->assertStatus(200); @@ -75,6 +79,10 @@ class BookingTest extends TestCase { $this->actingAs($this->user); Storage::fake('image_url'); + $image_url = UploadedFile::fake()->image('comp.jpg'); + if(!file_exists($image_url)){ + $response->assertStatus(400); + } $response = $this->json('POST', '/api/booking/1/upload-po', [ 'image_url' => UploadedFile::fake()->image('comp.jpg'),