diff --git a/app/Booking.php b/app/Booking.php
new file mode 100644
index 00000000..1add81f2
--- /dev/null
+++ b/app/Booking.php
@@ -0,0 +1,16 @@
+belongsTo('app\User');
+ }
+}
+
diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php
new file mode 100644
index 00000000..e69995a8
--- /dev/null
+++ b/app/Http/Controllers/BookingController.php
@@ -0,0 +1,194 @@
+json(['success' => true, 'message'=> "You have successfully logged out."]);
+ //}
+
+ /**
+ * Show the form for creating a new resource.
+ *
+ * @return \Illuminate\Http\Response
+ */
+ //public function create()
+ //{
+ // return response()->json(['success' => true, 'message'=> "Success"]);
+ //}
+
+ /**
+ * Store a newly created resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Illuminate\Http\Response
+ */
+ public function store(Request $request)
+ {
+ $rates = Rate::all()->last();
+ $term = $request->input('term');
+ $rate = 1;
+
+ switch($term){
+ case "x1_cash":
+ $rate = $rates->x1_cash;
+ break;
+ case "x1_cheque":
+ $rate = $rates->x1_cheque;
+ break;
+ case "x1_ba":
+ $rate = $rates->x1_ba;
+ break;
+ case "x2_cash":
+ $rate = $rates->x2_cash;
+ break;
+ case "x2_cheque":
+ $rate = $rates->x2_cheque;
+ break;
+ case "x2_ba":
+ $rate = $rates->x2_ba;
+ break;
+ default:
+
+ //$rate = "no";
+ return Response::json(array(
+ 'code' => 422,
+ 'message' => 'Invalid input'
+ ), 422);
+ break;
+ }
+
+ //Calculation part
+ // $bookings = Booking::all();
+ $amount = $request->input("amount");
+ if ($amount >= 10000 && ($term == 'x2_cash' || $term = 'x2_cheque' || $term = 'x2_ba')) {
+ $svcharge = 0;
+ }
+ else {
+ $svcharge = 20.00;
+ }
+
+ $bia = round(($amount + $svcharge) / $rate + (0*($amount + $svcharge)), 2);
+ //gst = 0.00% -> (0*($amount + $svcharge))
+ //bia = bank in amount in MYR
+
+ // return $bia;
+ $user = Auth::user();
+ $booking = new Booking();
+ $booking->account_name = $request->input('account_name');
+ $booking->account_num = $request->input('account_num');
+ $booking->bank_name = $request->input('bank_name');
+ $booking->bank_branch = $request->input('bank_branch');
+ $booking->company_name = $request->input('company_name');
+ $booking->company_address = $request->input('company_address');
+ $booking->bank_address = $request->input('bank_address');
+ $booking->swift_code = $request->input('swift_code');
+ $booking->cnap = $request->input('cnap');
+ $booking->term = $request->input('term');
+ $booking->amount = $request->input('amount');
+ $booking->rate_id = $rate;
+
+ $booking->rmb_book_amount = $request->input('rmb_book_amount');
+ $booking->rmb_book_pay_method = $request->input('rmb_book_pay_method');
+ $booking->rmb_book_account_name = $request->input('rmb_book_account_name');
+ $booking->rmb_book_acc_no = $request->input('rmb_book_acc_no');
+ $booking->rmb_book_bank_branch = $request->input('rmb_book_bank_branch');
+
+ $booking->usd_book_amount = $request->input('usd_book_amount');
+ $booking->usd_book_pay_method = $request->input('usd_book_pay_method');
+ $booking->usd_book_company_name = $request->input('usd_book_company_name');
+ $booking->usd_book_company_address = $request->input('usd_book_company_address');
+ $booking->usd_book_swift_code = $request->input('usd_book_swift_code');
+ $booking->usd_book_cnap = $request->input('usd_book_cnap');
+ $booking->usd_book_bank_branch = $request->input('usd_book_bank_branch');
+ $booking->verification_status = $request->input('verification_status');
+
+ $booking->user()->associate($user);
+ //$booking->user_id = $request->input('user_id');
+ $booking->bia = $bia;
+ $booking->save();
+
+ // return false;
+ //$booking = Booking::create($request->all());
+ return response()->json($booking, 201);
+
+ }
+
+ /**
+ * Display the specified resource.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ //public function show($id)
+ //{
+ // $booking = Booking::find($id);
+ // return view('booking.index');
+ //}
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ //public function edit($id)
+ //{
+ //
+ //}
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function update(Request $request, $book_id)
+ {
+ $book_id = Booking::find($book_id);
+
+ //$com_id->id = $request->input('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);
+
+
+
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param int $id
+ * @return \Illuminate\Http\Response
+ */
+ public function delete(Booking $book_id)
+ {
+ $book_id->delete($book_id);
+
+ return response()->json($book_id, 204);
+ }
+}
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index f3f0d65a..970793f7 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -6,6 +6,7 @@ use Laravel\Dusk\DuskServiceProvider;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;
+
class AppServiceProvider extends ServiceProvider
{
/**
diff --git a/app/User.php b/app/User.php
index 1d093208..4ceda42b 100644
--- a/app/User.php
+++ b/app/User.php
@@ -58,7 +58,7 @@ class User extends Authenticatable implements JWTSubject
*/
public function getRoleAttribute()
{
- return $this->roles->first()->name;
+ // return $this->roles->first()->name;
}
/**
@@ -98,4 +98,8 @@ class User extends Authenticatable implements JWTSubject
return [];
}
+ public function booking(){
+ return $this->hasMany('App\Booking');
+ }
+
}
diff --git a/composer.lock b/composer.lock
index fa74a2f6..50a353a1 100644
--- a/composer.lock
+++ b/composer.lock
@@ -706,16 +706,16 @@
},
{
"name": "laravel/framework",
- "version": "v5.6.21",
+ "version": "v5.6.22",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "458a89b1c5ff73072c27308566f444c790f76f28"
+ "reference": "637fd797a6dde8d24a9f07da77e375ec251c5d24"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/458a89b1c5ff73072c27308566f444c790f76f28",
- "reference": "458a89b1c5ff73072c27308566f444c790f76f28",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/637fd797a6dde8d24a9f07da77e375ec251c5d24",
+ "reference": "637fd797a6dde8d24a9f07da77e375ec251c5d24",
"shasum": ""
},
"require": {
@@ -841,7 +841,7 @@
"framework",
"laravel"
],
- "time": "2018-05-08T13:30:15+00:00"
+ "time": "2018-05-15T13:34:20+00:00"
},
{
"name": "laravel/socialite",
@@ -907,16 +907,16 @@
},
{
"name": "laravel/tinker",
- "version": "v1.0.6",
+ "version": "v1.0.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
- "reference": "b22fe905fcefdffae76b011e27c7ac09e07e052b"
+ "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/tinker/zipball/b22fe905fcefdffae76b011e27c7ac09e07e052b",
- "reference": "b22fe905fcefdffae76b011e27c7ac09e07e052b",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/e3086ee8cb1f54a39ae8dcb72d1c37d10128997d",
+ "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d",
"shasum": ""
},
"require": {
@@ -966,7 +966,7 @@
"laravel",
"psysh"
],
- "time": "2018-04-16T12:10:37+00:00"
+ "time": "2018-05-17T13:42:07+00:00"
},
{
"name": "laravelcollective/html",
@@ -3157,34 +3157,39 @@
},
{
"name": "facebook/webdriver",
- "version": "1.5.0",
+ "version": "1.6.0",
"source": {
"type": "git",
"url": "https://github.com/facebook/php-webdriver.git",
- "reference": "86b5ca2f67173c9d34340845dd690149c886a605"
+ "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/86b5ca2f67173c9d34340845dd690149c886a605",
- "reference": "86b5ca2f67173c9d34340845dd690149c886a605",
+ "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e",
+ "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e",
"shasum": ""
},
"require": {
"ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
"ext-zip": "*",
"php": "^5.6 || ~7.0",
"symfony/process": "^2.8 || ^3.1 || ^4.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.0",
- "guzzle/guzzle": "^3.4.1",
- "php-coveralls/php-coveralls": "^1.0.2",
+ "jakub-onderka/php-parallel-lint": "^0.9.2",
+ "php-coveralls/php-coveralls": "^2.0",
"php-mock/php-mock-phpunit": "^1.1",
"phpunit/phpunit": "^5.7",
"sebastian/environment": "^1.3.4 || ^2.0 || ^3.0",
"squizlabs/php_codesniffer": "^2.6",
"symfony/var-dumper": "^3.3 || ^4.0"
},
+ "suggest": {
+ "ext-SimpleXML": "For Firefox profile creation"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -3208,7 +3213,7 @@
"selenium",
"webdriver"
],
- "time": "2017-11-15T11:08:09+00:00"
+ "time": "2018-05-16T17:37:13+00:00"
},
{
"name": "filp/whoops",
diff --git a/config/database.php b/config/database.php
index e939b89c..7ee80bab 100644
--- a/config/database.php
+++ b/config/database.php
@@ -41,7 +41,7 @@ return [
'mysql' => [
'driver' => 'mysql',
- 'host' => env('DB_HOST', '127.0.0.1'),
+ 'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
@@ -54,6 +54,21 @@ return [
'engine' => null,
],
+ 'testing' => [
+ 'driver' => 'mysql',
+ 'host' => env('DB_HOST', 'localhost'),
+ 'port' => env('DB_PORT', '3306'),
+ 'database' => 'forunittest',
+ 'username' => 'root',
+ 'password' => '',
+ 'unix_socket' => env('DB_SOCKET', ''),
+ 'charset' => 'utf8mb4',
+ 'collation' => 'utf8mb4_unicode_ci',
+ 'prefix' => '',
+ 'strict' => false,
+ 'engine' => null,
+ ],
+
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', '127.0.0.1'),
diff --git a/database/migrations/2018_05_15_075453_create_bookings_table.php b/database/migrations/2018_05_15_075453_create_bookings_table.php
new file mode 100644
index 00000000..a6a9d74d
--- /dev/null
+++ b/database/migrations/2018_05_15_075453_create_bookings_table.php
@@ -0,0 +1,48 @@
+increments('id');
+ $table->string('account_name');
+ $table->integer('account_num');
+ $table->string('bank_name');
+ $table->string('bank_branch');
+ $table->string('company_name');
+ $table->string('company_address');
+ $table->string('bank_address');
+ $table->string('swift_code');
+ $table->string('cnap');
+ $table->string('term');
+ $table->double('amount');
+ $table->unsignedInteger('rate_id');
+ $table->foreign('rate_id')
+ ->references('id')->on('rates')
+ ->onDelete('cascade');
+
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('bookings');
+
+ }
+}
diff --git a/database/migrations/2018_05_15_090646_change_user_id_in_bookings_table.php b/database/migrations/2018_05_15_090646_change_user_id_in_bookings_table.php
new file mode 100644
index 00000000..d629bc96
--- /dev/null
+++ b/database/migrations/2018_05_15_090646_change_user_id_in_bookings_table.php
@@ -0,0 +1,34 @@
+unsignedInteger('user_id')->default('0');
+ $table->foreign('user_id')
+ ->references('id')->on('users')
+ ->onDelete('cascade');
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+
+ }
+}
diff --git a/database/migrations/2018_05_18_063200_add_bia_in_bookings_table.php b/database/migrations/2018_05_18_063200_add_bia_in_bookings_table.php
new file mode 100644
index 00000000..3df8fcd8
--- /dev/null
+++ b/database/migrations/2018_05_18_063200_add_bia_in_bookings_table.php
@@ -0,0 +1,32 @@
+double('bia')->default('0');
+;
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ //
+ }
+}
diff --git a/database/migrations/2018_05_22_032509_add_bookings_table.php b/database/migrations/2018_05_22_032509_add_bookings_table.php
new file mode 100644
index 00000000..f6943b72
--- /dev/null
+++ b/database/migrations/2018_05_22_032509_add_bookings_table.php
@@ -0,0 +1,50 @@
+double('rmb_book_amount')->default('0');
+ $table->string('rmb_book_pay_method')->default(' ');
+ $table->string('rmb_book_account_name')->default(' ');
+ $table->string('rmb_book_bank_name')->default(' ');
+ $table->string('rmb_book_acc_no')->default(' ');
+ $table->string('rmb_book_bank_branch')->default(' ');
+
+ $table->double('usd_book_amount')->default('0');
+ $table->string('usd_book_pay_method')->default(' ');
+ $table->string('usd_book_company_name')->default(' ');
+ $table->string('usd_book_company_address')->default(' ');
+ $table->string('usd_book_swift_code')->default(' ');
+ $table->string('usd_book_cnap')->default(' ');
+ $table->string('usd_book_bank_branch')->default(' ');
+ $table->boolean('verification_status')->default('1'); // Results in a default value of 1.
+
+ // $table->foreign('status_id')
+ // ->references('id')->on('status')
+ // ->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('bookings', function (Blueprint $table) {
+ //
+ });
+ }
+}
diff --git a/database/seeds/BookTableSeeder.php b/database/seeds/BookTableSeeder.php
new file mode 100644
index 00000000..1f01c281
--- /dev/null
+++ b/database/seeds/BookTableSeeder.php
@@ -0,0 +1,38 @@
+first();
+ $rate = Rate::all()->last();
+
+ DB::table('bookings')->insert([
+ 'account_name' => 'milah',
+ 'account_num' => '99898',
+ 'bank_name' => 'maybank',
+ 'bank_branch' => 'rembau',
+ 'company_name' => 'ICEF',
+ 'company_address' => 'selangor',
+ 'bank_address' => 'cyber',
+ 'swift_code' => 'qwe123',
+ 'cnap' => '123asd',
+ 'term' => 'x1',
+ 'amount' => 1.2,
+ 'rate_id' => $rate->id,
+ 'user_id' => $user->id,
+ 'created_at' => Carbon::now()->format('Y-m-d H:i:s'),
+ 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'),
+ ]);
+ }
+}
diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php
index 264b3fa4..098d40f3 100644
--- a/database/seeds/DatabaseSeeder.php
+++ b/database/seeds/DatabaseSeeder.php
@@ -13,8 +13,8 @@ class DatabaseSeeder extends Seeder
{
$this->call(UsersTableSeeder::class);
$this->call(RolesAndPermissionsSeeder::class);
- $this->call(UserRoleTableSeeder::class);
-
-
+ $this->call(UserRoleSeeder::class);
+ $this->call(RateTableSeeder::class);
+ $this->call(BookTableSeeder::class);
}
}
diff --git a/database/seeds/RateTableSeeder.php b/database/seeds/RateTableSeeder.php
new file mode 100644
index 00000000..5a3bd8e0
--- /dev/null
+++ b/database/seeds/RateTableSeeder.php
@@ -0,0 +1,37 @@
+insert([
+ 'x1_cash' => 1.2,
+ 'x1_cheque' => 1.2,
+ 'x1_ba' => 1.2,
+ 'x2_cash' => 1.2,
+ 'x2_cheque' => 1.2,
+ 'x2_ba' => 1.2,
+ 'created_at' => Carbon::now()->format('Y-m-d H:i:s'),
+ 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'),
+ ]);
+
+ DB::table('rates')->insert([
+ 'x1_cash' => 1.3,
+ 'x1_cheque' => 1.3,
+ 'x1_ba' => 1.3,
+ 'x2_cash' => 1.3,
+ 'x2_cheque' => 1.3,
+ 'x2_ba' => 1.3,
+ 'created_at' => Carbon::now()->format('Y-m-d H:i:s'),
+ 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'),
+ ]);
+ }
+}
diff --git a/database/seeds/UserRoleTableSeeder.php b/database/seeds/UserRoleSeeder.php
similarity index 93%
rename from database/seeds/UserRoleTableSeeder.php
rename to database/seeds/UserRoleSeeder.php
index 608d2646..b55e7019 100644
--- a/database/seeds/UserRoleTableSeeder.php
+++ b/database/seeds/UserRoleSeeder.php
@@ -4,7 +4,7 @@ use Illuminate\Database\Seeder;
use App\User;
use App\Role;
-class UserRoleTableSeeder extends Seeder
+class UserRoleSeeder extends Seeder
{
/**
* Run the database seeds.
diff --git a/env-example b/env-example
index 19742809..c7d77f12 100644
--- a/env-example
+++ b/env-example
@@ -1,39 +1,78 @@
-APP_NAME=exchange
-APP_ENV=local
-APP_KEY=base64:Fu2YulXExzm9HJ5LgVmZUmcbRkchHkc82q02MorN5GQ=
-APP_DEBUG=true
-APP_URL=http://localhost
-
-LOG_CHANNEL=stack
-
-DB_CONNECTION=mysql
-DB_HOST=127.0.0.1
-DB_PORT=3306
-DB_DATABASE=homestead
-DB_USERNAME=homestead
-DB_PASSWORD=secr
-
-BROADCAST_DRIVER=log
-CACHE_DRIVER=file
-SESSION_DRIVER=file
-SESSION_LIFETIME=120
-QUEUE_DRIVER=sync
-
-REDIS_HOST=127.0.0.1
-REDIS_PASSWORD=null
-REDIS_PORT=6379
-
-MAIL_DRIVER=smtp
-MAIL_HOST=smtp.mailtrap.io
-MAIL_PORT=2525
-MAIL_USERNAME=null
-MAIL_PASSWORD=null
-MAIL_ENCRYPTION=null
-
-PUSHER_APP_ID=
-PUSHER_APP_KEY=
-PUSHER_APP_SECRET=
-PUSHER_APP_CLUSTER=mt1
-
-MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
-MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
+APP_NAME=IZYIM
+APP_ENV=local
+APP_KEY=base64:Fu2YulXExzm9HJ5LgVmZUmcbRkchHkc82q02MorN5GQ=
+APP_DEBUG=true
+APP_URL=http://localhost
+
+LOG_CHANNEL=stack
+
+DB_CONNECTION=mysql
+DB_HOST=127.0.0.1
+DB_PORT=3306
+DB_DATABASE=default
+DB_USERNAME=root
+DB_PASSWORD=
+
+BROADCAST_DRIVER=log
+CACHE_DRIVER=file
+SESSION_DRIVER=file
+SESSION_LIFETIME=120
+QUEUE_DRIVER=sync
+
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_DRIVER=smtp
+MAIL_HOST=smtp.mailtrap.io
+MAIL_PORT=2525
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
+
+PUSHER_APP_ID=
+PUSHER_APP_KEY=
+PUSHER_APP_SECRET=
+PUSHER_APP_CLUSTER=mt1
+
+MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
+MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
+APP_NAME=exchange
+APP_ENV=local
+APP_KEY=base64:Fu2YulXExzm9HJ5LgVmZUmcbRkchHkc82q02MorN5GQ=
+APP_DEBUG=true
+APP_URL=http://localhost
+
+LOG_CHANNEL=stack
+
+DB_CONNECTION=mysql
+DB_HOST=127.0.0.1
+DB_PORT=3306
+DB_DATABASE=homestead
+DB_USERNAME=homestead
+DB_PASSWORD=secr
+
+BROADCAST_DRIVER=log
+CACHE_DRIVER=file
+SESSION_DRIVER=file
+SESSION_LIFETIME=120
+QUEUE_DRIVER=sync
+
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_DRIVER=smtp
+MAIL_HOST=smtp.mailtrap.io
+MAIL_PORT=2525
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
+
+PUSHER_APP_ID=
+PUSHER_APP_KEY=
+PUSHER_APP_SECRET=
+PUSHER_APP_CLUSTER=mt1
+
+MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
+MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
diff --git a/laradock/logs/nginx/error.log b/laradock/logs/nginx/error.log
new file mode 100644
index 00000000..e69de29b
diff --git a/package.json b/package.json
index 23f84404..bb7d8524 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"@fortawesome/vue-fontawesome": "^0.0.22",
"axios": "^0.18.0",
"bootstrap": "^4.0.0",
+ "element-ui": "^2.3.9",
"jquery": "^3.3.1",
"js-cookie": "^2.2.0",
"popper.js": "^1.14.1",
diff --git a/phpunit.xml b/phpunit.xml
index cd940d8e..2a973817 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -27,6 +27,8 @@
+