Skip to content

Commit 8828f66

Browse files
committed
Update last modified when duplicating an entry
1 parent a8539b9 commit 8828f66

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

src/Actions/DuplicateEntry.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ private function duplicateEntry(Entry $original, ?string $origin = null)
8484
->blueprint($original->blueprint()->handle())
8585
->published(false)
8686
->data($data)
87-
->origin($origin);
87+
->origin($origin)
88+
->updateLastModified(User::current());
8889

8990
if ($original->collection()->requiresSlugs()) {
9091
$entry->slug($slug);

tests/Actions/DuplicateEntryTest.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,28 @@ public function it_increments_the_number_if_duplicate_already_exists()
6565
], $this->entryData());
6666
}
6767

68+
#[Test]
69+
public function it_updates_last_modified()
70+
{
71+
$originalUser = User::make()->email('alfa@romeo.test')->save();
72+
$duplicateUser = User::make()->email('alfa-1@romeo.test')->save();
73+
74+
$this->actingAs($duplicateUser);
75+
76+
Collection::make('test')->save();
77+
$originalEntry = EntryFactory::id('alfa-id')->collection('test')->slug('alfa')->data(['title' => 'Alfa', 'updated_at' => 123, 'updated_by' => $originalUser->id()])->create();
78+
79+
(new DuplicateEntry)->run(collect([
80+
Entry::find('alfa-id'),
81+
]), []);
82+
83+
$duplicatedEntry = Entry::query()->where('slug', 'alfa-1')->first();
84+
85+
$this->assertEquals($duplicatedEntry->lastModifiedBy()->id(), $duplicateUser->id());
86+
$this->assertNotEquals($originalEntry->lastModifiedBy()->id(), $duplicatedEntry->lastModifiedBy()->id());
87+
$this->assertNotEquals($originalEntry->lastModified(), $duplicatedEntry->lastModified());
88+
}
89+
6890
#[Test]
6991
#[DataProvider('authorizationProvider')]
7092
public function it_authorizes(
@@ -543,6 +565,8 @@ private function entryData()
543565
'slug' => $entry->slug(),
544566
'published' => $entry->published(),
545567
'data' => $entry->data()->all(),
568+
// 'updated_at' => $entry->lastModified(),
569+
// 'updated_by' => $entry->lastModifiedBy(),
546570
];
547571

548572
if (Site::hasMultiple()) {

0 commit comments

Comments
 (0)