BookStack/tests/Settings/FooterLinksTest.php
Dan Brown f77236aa38
Laravel 7.x Shift (#3011)
* Apply Laravel coding style
* Shift bindings
* Shift core files
* Shift to Throwable
* Add laravel/ui dependency
* Shift Eloquent methods
* Shift config files
* Shift Laravel dependencies
* Shift cleanup
* Shift test config and references
* Applied styleci changes
* Applied fixes post shift to laravel 7

Co-authored-by: Shift <shift@laravelshift.com>
2021-10-26 22:04:18 +01:00

63 lines
2.4 KiB
PHP

<?php
namespace Tests\Settings;
use Tests\TestCase;
class FooterLinksTest extends TestCase
{
public function test_saving_setting()
{
$resp = $this->asAdmin()->post('/settings', [
'setting-app-footer-links' => [
['label' => 'My custom link 1', 'url' => 'https://example.com/1'],
['label' => 'My custom link 2', 'url' => 'https://example.com/2'],
],
]);
$resp->assertRedirect('/settings');
$result = setting('app-footer-links');
$this->assertIsArray($result);
$this->assertCount(2, $result);
$this->assertEquals('My custom link 2', $result[1]['label']);
$this->assertEquals('https://example.com/1', $result[0]['url']);
}
public function test_set_options_visible_on_settings_page()
{
$this->setSettings(['app-footer-links' => [
['label' => 'My custom link', 'url' => 'https://example.com/link-a'],
['label' => 'Another Link', 'url' => 'https://example.com/link-b'],
]]);
$resp = $this->asAdmin()->get('/settings');
$resp->assertSee('value="My custom link"', false);
$resp->assertSee('value="Another Link"', false);
$resp->assertSee('value="https://example.com/link-a"', false);
$resp->assertSee('value="https://example.com/link-b"', false);
}
public function test_footer_links_show_on_pages()
{
$this->setSettings(['app-footer-links' => [
['label' => 'My custom link', 'url' => 'https://example.com/link-a'],
['label' => 'Another Link', 'url' => 'https://example.com/link-b'],
]]);
$this->get('/login')->assertElementContains('footer a[href="https://example.com/link-a"]', 'My custom link');
$this->asEditor()->get('/')->assertElementContains('footer a[href="https://example.com/link-b"]', 'Another link');
}
public function test_using_translation_system_for_labels()
{
$this->setSettings(['app-footer-links' => [
['label' => 'trans::common.privacy_policy', 'url' => 'https://example.com/privacy'],
['label' => 'trans::common.terms_of_service', 'url' => 'https://example.com/terms'],
]]);
$resp = $this->get('/login');
$resp->assertElementContains('footer a[href="https://example.com/privacy"]', 'Privacy Policy');
$resp->assertElementContains('footer a[href="https://example.com/terms"]', 'Terms of Service');
}
}