]> BookStack Code Mirror - bookstack/blob - tests/UserPreferencesTest.php
Update passwords.php
[bookstack] / tests / UserPreferencesTest.php
1 <?php namespace Tests;
2
3 class UserPreferencesTest extends TestCase
4 {
5
6     public function test_update_sort_preference()
7     {
8         $editor = $this->getEditor();
9         $this->actingAs($editor);
10
11         $updateRequest = $this->patch('/settings/users/' . $editor->id.'/change-sort/books', [
12             'sort' => 'created_at',
13             'order' => 'desc'
14         ]);
15         $updateRequest->assertStatus(302);
16
17         $this->assertDatabaseHas('settings', [
18             'setting_key' => 'user:' . $editor->id . ':books_sort',
19             'value' => 'created_at'
20         ]);
21         $this->assertDatabaseHas('settings', [
22             'setting_key' => 'user:' . $editor->id . ':books_sort_order',
23             'value' => 'desc'
24         ]);
25         $this->assertEquals('created_at', setting()->getForCurrentUser('books_sort'));
26         $this->assertEquals('desc', setting()->getForCurrentUser('books_sort_order'));
27     }
28
29     public function test_update_sort_preference_defaults()
30     {
31         $editor = $this->getEditor();
32         $this->actingAs($editor);
33
34         $updateRequest = $this->patch('/settings/users/' . $editor->id.'/change-sort/bookshelves', [
35             'sort' => 'cat',
36             'order' => 'dog'
37         ]);
38         $updateRequest->assertStatus(302);
39
40         $this->assertEquals('name', setting()->getForCurrentUser('bookshelves_sort'));
41         $this->assertEquals('asc', setting()->getForCurrentUser('bookshelves_sort_order'));
42     }
43
44     public function test_update_sort_bad_entity_type_handled()
45     {
46         $editor = $this->getEditor();
47         $this->actingAs($editor);
48
49         $updateRequest = $this->patch('/settings/users/' . $editor->id.'/change-sort/dogs', [
50             'sort' => 'name',
51             'order' => 'asc'
52         ]);
53         $updateRequest->assertStatus(500);
54
55         $this->assertNotEmpty('name', setting()->getForCurrentUser('bookshelves_sort'));
56         $this->assertNotEmpty('asc', setting()->getForCurrentUser('bookshelves_sort_order'));
57     }
58
59     public function test_update_expansion_preference()
60     {
61         $editor = $this->getEditor();
62         $this->actingAs($editor);
63
64         $updateRequest = $this->patch('/settings/users/' . $editor->id.'/update-expansion-preference/home-details', ['expand' => 'true']);
65         $updateRequest->assertStatus(204);
66
67         $this->assertDatabaseHas('settings', [
68             'setting_key' => 'user:' . $editor->id . ':section_expansion#home-details',
69             'value' => 'true'
70         ]);
71         $this->assertEquals(true, setting()->getForCurrentUser('section_expansion#home-details'));
72
73         $invalidKeyRequest = $this->patch('/settings/users/' . $editor->id.'/update-expansion-preference/my-home-details', ['expand' => 'true']);
74         $invalidKeyRequest->assertStatus(500);
75     }
76 }
Morty Proxy This is a proxified and sanitized view of the page, visit original site.