1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-08-06 12:02:45 +03:00

Sorting: Updated sort set command, Changed sort timestamp handling

- Renamed AssignSortSetCommand to AssignSortRuleCommand, updated
  contents and testing.
- Updated sorting operations to not update timestamps if only priority
  is changed.
This commit is contained in:
Dan Brown
2025-02-11 15:29:16 +00:00
parent b9306a9029
commit 7bd89316bc
7 changed files with 193 additions and 145 deletions

View File

@@ -207,6 +207,32 @@ class BookSortTest extends TestCase
]);
}
public function test_book_sort_does_not_change_timestamps_on_just_order_changes()
{
$book = $this->entities->bookHasChaptersAndPages();
$chapter = $book->chapters()->first();
\DB::table('chapters')->where('id', '=', $chapter->id)->update([
'priority' => 10001,
'updated_at' => \Carbon\Carbon::now()->subYear(5),
]);
$chapter->refresh();
$oldUpdatedAt = $chapter->updated_at->unix();
$sortData = [
'id' => $chapter->id,
'sort' => 0,
'parentChapter' => false,
'type' => 'chapter',
'book' => $book->id,
];
$this->asEditor()->put($book->getUrl('/sort'), ['sort-tree' => json_encode([$sortData])])->assertRedirect();
$chapter->refresh();
$this->assertNotEquals(10001, $chapter->priority);
$this->assertEquals($oldUpdatedAt, $chapter->updated_at->unix());
}
public function test_book_sort_item_returns_book_content()
{
$bookToSort = $this->entities->book();