From 39c30065f170b49dbf4f7878e1dad313274c36dd Mon Sep 17 00:00:00 2001 From: Too Date: Mon, 18 Jun 2018 14:05:08 +0800 Subject: [PATCH] Approved user bankslip --- app/Http/Controllers/BookingController.php | 18 ++++++++++++++++++ database/factories/UserBankSlipFactory.php | 8 +++++++- routes/api.php | 1 + tests/Feature/BookingTest.php | 13 +++++++++++++ 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index eb5e8ded..d87f5d84 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -236,4 +236,22 @@ class BookingController extends Controller return response()->json(['message'=>'Success'],200); } + + public function approveBankSlip(Request $request, $book_id) + { + if (!$Booking = Booking::where('user_id',Auth::user()->id)->where('id',$book_id)->first()) + { + return response()->json(['message'=>'Access denied'], 200); + } + + if(!$userBankSlip = UserBankSlip::where('book_id',$Booking->id)->first()) + { + return response()->json(['message'=>'Access denied'], 200); + } + + $userBankSlip->is_approve = 1; + $userBankSlip->save(); + return response()->json(['message'=>'Success'],200); + } + } diff --git a/database/factories/UserBankSlipFactory.php b/database/factories/UserBankSlipFactory.php index 1fd73bba..78f1be24 100644 --- a/database/factories/UserBankSlipFactory.php +++ b/database/factories/UserBankSlipFactory.php @@ -3,7 +3,13 @@ use Faker\Generator as Faker; $factory->define(App\UserBankSlip::class, function (Faker $faker) { + $book_id = App\Booking::pluck('id')->toArray(); + return [ - // + 'bank_slip_type' => str_random(10), + 'bankslip_url' => str_random(10), + 'transfer_amount' => $faker->randomDigit, + 'cust_marking' => str_random(10), + 'book_id' => $faker->randomElement($book_id), ]; }); diff --git a/routes/api.php b/routes/api.php index 56840ca9..623427df 100644 --- a/routes/api.php +++ b/routes/api.php @@ -81,6 +81,7 @@ Route::delete('setting-supplier/{supplier}', 'SettingSupplierController@delete') Route::post('upload-china-bankslip', 'ChinaBankSlipController@store'); +Route::post('booking/{book_id}/approve-bank-slip','BookingController@approveBankSlip'); Route::post('booking/{book_id}/cancel', 'BookingController@cancel'); Route::post('booking/{id}/upload-user-bankslip', 'BookingController@uploadbankslip'); Route::post('booking/{id}/upload-po', 'BookingController@uploadPurchaseOrder'); diff --git a/tests/Feature/BookingTest.php b/tests/Feature/BookingTest.php index 5af1df68..c0e2a0b0 100644 --- a/tests/Feature/BookingTest.php +++ b/tests/Feature/BookingTest.php @@ -14,11 +14,13 @@ 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() { @@ -28,6 +30,10 @@ class BookingTest extends TestCase $this->booking = factory(Booking::class)->create([ 'user_id' => $this->user->id ]); + $this->userBankSlip = factory(UserBankSlip::class)->create([ + 'book_id' => $this->booking->id + ]); + } public function testPost() @@ -104,4 +110,11 @@ class BookingTest extends TestCase ->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(); + } }