110 lines
3.3 KiB
PHP
110 lines
3.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Modules\OfflinePayments\Tests\Feature;
|
||
|
|
||
|
use Modules\OfflinePayments\Jobs\CreatePaymentMethod;
|
||
|
use Tests\Feature\FeatureTestCase;
|
||
|
|
||
|
class SettingsTest extends FeatureTestCase
|
||
|
{
|
||
|
public function testItShouldSeeOfflinePaymentsInSettingsListPage()
|
||
|
{
|
||
|
$this->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,
|
||
|
];
|
||
|
}
|
||
|
}
|