85 lines
2.6 KiB
PHP
85 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature\Nami;
|
|
|
|
use App\Invoice\InvoiceSettings;
|
|
use App\Setting\NamiSettings;
|
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
|
use Tests\TestCase;
|
|
use Zoomyboy\LaravelNami\Authentication\Auth;
|
|
use Zoomyboy\LaravelNami\Nami;
|
|
|
|
uses(DatabaseTransactions::class);
|
|
|
|
it('testItDisplaysView', function () {
|
|
$this->withoutExceptionHandling()->login()->loginNami();
|
|
|
|
$this->get(route('setting.view', ['settingGroup' => 'nami']))
|
|
->assertOk()
|
|
->assertComponent('setting/Nami');
|
|
});
|
|
|
|
it('testDisplaySettings', function () {
|
|
$this->withoutExceptionHandling()->login()->loginNami();
|
|
app(NamiSettings::class)->fill([
|
|
'mglnr' => '0111',
|
|
'password' => 'secret',
|
|
'default_group_id' => '12345',
|
|
'search_params' => [],
|
|
])->save();
|
|
|
|
$this->get(route('setting.data', ['settingGroup' => 'nami']))
|
|
->assertOk()
|
|
->assertComponent('setting/Nami')
|
|
->assertInertiaPath('data.mglnr', '0111')
|
|
->assertInertiaPath('data.password', '')
|
|
->assertInertiaPath('data.default_group_id', 12345);
|
|
});
|
|
|
|
it('testItCanChangeSettings', function () {
|
|
$this->login()->loginNami();
|
|
Auth::success(90100, 'secret');
|
|
|
|
$response = $this->from('/setting/nami')->post('/setting/nami', [
|
|
'mglnr' => 90100,
|
|
'password' => 'secret',
|
|
'default_group_id' => '12345',
|
|
'search_params' => [],
|
|
]);
|
|
|
|
$response->assertRedirect('/setting/nami');
|
|
$settings = app(NamiSettings::class);
|
|
$this->assertEquals(90100, $settings->mglnr);
|
|
$this->assertEquals('secret', $settings->password);
|
|
$this->assertEquals('12345', $settings->default_group_id);
|
|
});
|
|
|
|
it('validates settings', function () {
|
|
$this->login()->loginNami();
|
|
|
|
$this->from('/setting/nami')->post('/setting/nami', [
|
|
'mglnr' => 90100,
|
|
'password' => 'fdsfsdfdsf',
|
|
'default_group_id' => '12345',
|
|
'search_params' => [],
|
|
])->assertSessionHasErrors(['nami' => 'NaMi Login fehlgeschlagen.']);
|
|
});
|
|
|
|
it('can set mglnr to a string', function () {
|
|
$this->login()->loginNami();
|
|
Auth::success('090100', 'secret');
|
|
|
|
$response = $this->from('/setting/nami')->post('/setting/nami', [
|
|
'mglnr' => '090100',
|
|
'password' => 'secret',
|
|
'default_group_id' => '12345',
|
|
'search_params' => [],
|
|
]);
|
|
|
|
$response->assertRedirect('/setting/nami');
|
|
$settings = app(NamiSettings::class);
|
|
$this->assertSame('090100', $settings->mglnr);
|
|
$this->assertEquals('secret', $settings->password);
|
|
$this->assertEquals('12345', $settings->default_group_id);
|
|
});
|