From 703206bb51f585051b6b0176be45905d81ce013f Mon Sep 17 00:00:00 2001 From: Josemprog Date: Fri, 30 Oct 2020 16:54:18 -0500 Subject: [PATCH] feat: stubs were added to define the structure of the tests and more environment variables were added. --- .env.testing | 2 +- app/Http/Controllers/OrderController.php | 13 ++- app/Order.php | 6 ++ app/services/PlaceToPayService.php | 12 ++- config/services.php | 6 ++ .../2020_09_21_133109_create_orders_table.php | 3 +- package-lock.json | 16 ++- package.json | 1 + public/css/app.css | 4 + resources/sass/app.scss | 3 + resources/views/layouts/app.blade.php | 3 +- resources/views/orders/index.blade.php | 9 +- resources/views/orders/show.blade.php | 1 + resources/views/payments/pay.blade.php | 3 +- resources/views/welcome.blade.php | 97 ------------------- routes/web.php | 5 +- stubs/console.stub | 42 ++++++++ stubs/controller.api.stub | 64 ++++++++++++ stubs/controller.invokable.stub | 20 ++++ stubs/controller.model.api.stub | 65 +++++++++++++ stubs/controller.model.stub | 86 ++++++++++++++++ stubs/controller.nested.api.stub | 71 ++++++++++++++ stubs/controller.nested.stub | 94 ++++++++++++++++++ stubs/controller.plain.stub | 11 +++ stubs/controller.stub | 85 ++++++++++++++++ stubs/factory.stub | 12 +++ stubs/job.queued.stub | 34 +++++++ stubs/job.stub | 31 ++++++ stubs/middleware.stub | 20 ++++ stubs/migration.create.stub | 31 ++++++ stubs/migration.stub | 28 ++++++ stubs/migration.update.stub | 32 ++++++ stubs/model.pivot.stub | 10 ++ stubs/model.stub | 10 ++ stubs/policy.plain.stub | 21 ++++ stubs/policy.stub | 94 ++++++++++++++++++ stubs/request.stub | 30 ++++++ stubs/rule.stub | 40 ++++++++ stubs/seeder.stub | 16 +++ stubs/test.stub | 22 +++++ stubs/test.unit.stub | 22 +++++ tests/Unit/Product/IndexTest.php | 37 +++++++ webpack.mix.js | 2 +- 43 files changed, 1087 insertions(+), 127 deletions(-) delete mode 100644 resources/views/welcome.blade.php create mode 100644 stubs/console.stub create mode 100644 stubs/controller.api.stub create mode 100644 stubs/controller.invokable.stub create mode 100644 stubs/controller.model.api.stub create mode 100644 stubs/controller.model.stub create mode 100644 stubs/controller.nested.api.stub create mode 100644 stubs/controller.nested.stub create mode 100644 stubs/controller.plain.stub create mode 100644 stubs/controller.stub create mode 100644 stubs/factory.stub create mode 100644 stubs/job.queued.stub create mode 100644 stubs/job.stub create mode 100644 stubs/middleware.stub create mode 100644 stubs/migration.create.stub create mode 100644 stubs/migration.stub create mode 100644 stubs/migration.update.stub create mode 100644 stubs/model.pivot.stub create mode 100644 stubs/model.stub create mode 100644 stubs/policy.plain.stub create mode 100644 stubs/policy.stub create mode 100644 stubs/request.stub create mode 100644 stubs/rule.stub create mode 100644 stubs/seeder.stub create mode 100644 stubs/test.stub create mode 100644 stubs/test.unit.stub create mode 100644 tests/Unit/Product/IndexTest.php diff --git a/.env.testing b/.env.testing index f2cb3d3..5a8e568 100644 --- a/.env.testing +++ b/.env.testing @@ -11,7 +11,7 @@ DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=db_evertec_project_test DB_USERNAME=root -DB_PASSWORD= +DB_PASSWORD=password BROADCAST_DRIVER=log CACHE_DRIVER=file diff --git a/app/Http/Controllers/OrderController.php b/app/Http/Controllers/OrderController.php index 2b35395..139e694 100644 --- a/app/Http/Controllers/OrderController.php +++ b/app/Http/Controllers/OrderController.php @@ -38,7 +38,6 @@ public function index(): \Illuminate\View\View return view('orders.index')->with([ 'orders' => $orders, - 'user' => $user ]); } @@ -64,12 +63,14 @@ public function show(Order $order): \Illuminate\View\View { $payment = $this->p2p->getInformation($order->requestId); - + if ($order->status == 'PENDING') { - + $order->status = $payment['status']['status']; $order->save(); + } + return view('orders.show') ->with([ @@ -98,9 +99,7 @@ public function store(Request $request): \Illuminate\Http\RedirectResponse $user = $request->user(); if (!isset($order) || $user->orders->isEmpty()) { - $order = $user->orders()->create([ - 'status' => 'PENDING', - ]); + $order = $user->orders()->create(); $cartProductsWithQuantity = $cart ->products @@ -114,7 +113,7 @@ public function store(Request $request): \Illuminate\Http\RedirectResponse ->attach($cartProductsWithQuantity->toArray()); } - $this->cartService->getCartFromUser()->products()->detach(); + $cart->products()->detach(); $payment = $this->p2p->createRequest($order, $request); diff --git a/app/Order.php b/app/Order.php index 46f6072..839adab 100644 --- a/app/Order.php +++ b/app/Order.php @@ -9,6 +9,12 @@ class Order extends Model { + + public const APPROVED = 'approved'; + public const REJECTED = 'rejected'; + public const PENDING = 'pending'; + public const IN_PROCESS = 'in_process'; + /** * The attributes that are mass assignable. * diff --git a/app/services/PlaceToPayService.php b/app/services/PlaceToPayService.php index 0c53e09..169abd0 100644 --- a/app/services/PlaceToPayService.php +++ b/app/services/PlaceToPayService.php @@ -8,15 +8,21 @@ class PlaceToPayService { + + public const P2P_APPROVED = 'approved'; + public const P2P_REJECTED = 'rejected'; + public const P2P_PENDING = 'pending'; + public const P2P_IN_PROCESS = 'in_process'; + protected $endponitBase; protected $login; protected $secretKey; public function __construct() { - $this->endponitBase = env('P2P_ENDPOINT_BASE'); - $this->login = env('P2P_LOGIN'); - $this->secretKey = env('P2P_SECRET_KEY'); + $this->endponitBase = config('services.p2p.endpoint_base'); + $this->login = config('services.p2p.login'); + $this->secretKey = config('services.p2p.secret_key'); } /** diff --git a/config/services.php b/config/services.php index 2a1d616..05f121b 100644 --- a/config/services.php +++ b/config/services.php @@ -30,4 +30,10 @@ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), ], + 'p2p' => [ + 'endpoint_base' => env('P2P_ENDPOINT_BASE'), + 'login' => env('P2P_LOGIN'), + 'secret_key' => env('P2P_SECRET_KEY') + ] + ]; diff --git a/database/migrations/2020_09_21_133109_create_orders_table.php b/database/migrations/2020_09_21_133109_create_orders_table.php index 76970f9..0df6f46 100644 --- a/database/migrations/2020_09_21_133109_create_orders_table.php +++ b/database/migrations/2020_09_21_133109_create_orders_table.php @@ -1,5 +1,6 @@ id(); $table->string('processUrl')->nullable(); - $table->string('status')->default('pending'); + $table->string('status')->default(Order::IN_PROCESS); $table->unsignedInteger('requestId')->nullable(); $table->bigInteger('customer_id')->unsigned(); $table->timestamps(); diff --git a/package-lock.json b/package-lock.json index a77ea21..0f6ae98 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1091,6 +1091,13 @@ "yallist": "^2.1.2" } }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "optional": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -7999,11 +8006,10 @@ "dev": true }, "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "optional": true + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", + "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", + "dev": true }, "private": { "version": "0.1.8", diff --git a/package.json b/package.json index a16bfa8..26bb79a 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "laravel-mix": "^5.0.1", "lodash": "^4.17.13", "popper.js": "^1.12", + "prettier": "2.1.2", "resolve-url-loader": "^2.3.1", "sass": "^1.20.1", "sass-loader": "^8.0.0", diff --git a/public/css/app.css b/public/css/app.css index 5c1b37b..722a038 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -139,6 +139,10 @@ body { background-image: src("/img/frontend/shelving1.jpeg"); } +body { + color: black; +} + /*! * Bootstrap v4.5.0 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors diff --git a/resources/sass/app.scss b/resources/sass/app.scss index 88f6c14..cc5e888 100644 --- a/resources/sass/app.scss +++ b/resources/sass/app.scss @@ -4,6 +4,9 @@ // Variables @import "variables"; @import "styles"; +body { + color: black; +} // Bootstrap @import "~bootstrap/scss/bootstrap"; diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index bd0ea08..1495346 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -28,8 +28,7 @@