3 class UserPreferencesTest extends TestCase
6 public function test_update_sort_preference()
8 $editor = $this->getEditor();
9 $this->actingAs($editor);
11 $updateRequest = $this->patch('/settings/users/' . $editor->id.'/change-sort/books', [
12 'sort' => 'created_at',
15 $updateRequest->assertStatus(302);
17 $this->assertDatabaseHas('settings', [
18 'setting_key' => 'user:' . $editor->id . ':books_sort',
19 'value' => 'created_at'
21 $this->assertDatabaseHas('settings', [
22 'setting_key' => 'user:' . $editor->id . ':books_sort_order',
25 $this->assertEquals('created_at', setting()->getForCurrentUser('books_sort'));
26 $this->assertEquals('desc', setting()->getForCurrentUser('books_sort_order'));
29 public function test_update_sort_preference_defaults()
31 $editor = $this->getEditor();
32 $this->actingAs($editor);
34 $updateRequest = $this->patch('/settings/users/' . $editor->id.'/change-sort/bookshelves', [
38 $updateRequest->assertStatus(302);
40 $this->assertEquals('name', setting()->getForCurrentUser('bookshelves_sort'));
41 $this->assertEquals('asc', setting()->getForCurrentUser('bookshelves_sort_order'));
44 public function test_update_sort_bad_entity_type_handled()
46 $editor = $this->getEditor();
47 $this->actingAs($editor);
49 $updateRequest = $this->patch('/settings/users/' . $editor->id.'/change-sort/dogs', [
53 $updateRequest->assertStatus(500);
55 $this->assertNotEmpty('name', setting()->getForCurrentUser('bookshelves_sort'));
56 $this->assertNotEmpty('asc', setting()->getForCurrentUser('bookshelves_sort_order'));
59 public function test_update_expansion_preference()
61 $editor = $this->getEditor();
62 $this->actingAs($editor);
64 $updateRequest = $this->patch('/settings/users/' . $editor->id.'/update-expansion-preference/home-details', ['expand' => 'true']);
65 $updateRequest->assertStatus(204);
67 $this->assertDatabaseHas('settings', [
68 'setting_key' => 'user:' . $editor->id . ':section_expansion#home-details',
71 $this->assertEquals(true, setting()->getForCurrentUser('section_expansion#home-details'));
73 $invalidKeyRequest = $this->patch('/settings/users/' . $editor->id.'/update-expansion-preference/my-home-details', ['expand' => 'true']);
74 $invalidKeyRequest->assertStatus(500);