loginAs() ->get(route('settings.index')) ->assertStatus(200) ->assertSeeText(trans('offline-payments::general.description')); } public function testItShouldSeeOfflinePaymentsSettingsListPage() { $this->loginAs() ->get(route('offline-payments.settings.edit')) ->assertStatus(200) ->assertSeeText(trans('offline-payments::general.payment_gateways')); } public function testItShouldSeeOfflinePaymentsSettingsCreatePage() { $this->loginAs() ->get(route('offline-payments.settings.edit')) ->assertStatus(200) ->assertSeeText(trans('offline-payments::general.add_new')); } public function testItShouldCreateOfflinePaymentsSettings() { $request = $this->getRequest(); $message = trans('messages.success.added', ['type' => $request['name']]); $this->loginAs() ->post(route('offline-payments.settings.update'), $request) ->assertStatus(200) ->assertJson([ 'success' => true, 'message' => $message, ]); } public function testItShouldSeeOfflinePaymentsSettingsUpdatePage() { $payment_method = $this->dispatch(new CreatePaymentMethod($this->getRequest())); $this->loginAs() ->post(route('offline-payments.settings.get', ['code' => $payment_method['code']])) ->assertStatus(200) ->assertJson([ 'success' => true, 'data' => [ 'name' => $payment_method['name'], ], ]); } public function testItShouldUpdateOfflinePaymentsSettings() { $request = $this->getRequest(); $payment_method = $this->dispatch(new CreatePaymentMethod($request)); $request['name'] = $this->faker->text(10); $request['update_code'] = $payment_method['code']; $message = trans('messages.success.updated', ['type' => $request['name']]); $this->loginAs() ->post(route('offline-payments.settings.update'), $request) ->assertStatus(200) ->assertJson([ 'success' => true, 'message' => $message, ]); } public function testItShouldDeleteAccount() { $payment_method = $this->dispatch(new CreatePaymentMethod($this->getRequest())); $message = trans('messages.success.deleted', ['type' => $payment_method['name']]); $this->loginAs() ->delete(route('offline-payments.settings.delete', ['code' => $payment_method['code']])) ->assertStatus(200) ->assertJson([ 'success' => true, 'message' => $message, ]); } public function getRequest() { return [ 'name' => $this->faker->text(10), 'code' => 'offline-payments.cash.99', 'customer' => 1, 'order' => 1, 'description' => $this->faker->paragraph, ]; } }