mirror of
				https://github.com/BookStackApp/BookStack.git
				synced 2025-10-31 03:50:27 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| 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"');
 | |
|         $resp->assertSee('value="Another Link"');
 | |
|         $resp->assertSee('value="https://example.com/link-a"');
 | |
|         $resp->assertSee('value="https://example.com/link-b"');
 | |
|     }
 | |
| 
 | |
|     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');
 | |
|     }
 | |
| }
 |