summaryrefslogtreecommitdiff
path: root/packages/backend/test/unit/queue/processors
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2025-08-15 22:39:55 +0900
committerGitHub <noreply@github.com>2025-08-15 22:39:55 +0900
commit60f7278aff27b9a0e03c1f1a2a77663cfb0e0ddb (patch)
tree76d9f4e99144879566c5d39da7de7bd7f11a7668 /packages/backend/test/unit/queue/processors
parentenhance(frontend): improve enableInfiniteScroll stability (diff)
downloadmisskey-60f7278aff27b9a0e03c1f1a2a77663cfb0e0ddb.tar.gz
misskey-60f7278aff27b9a0e03c1f1a2a77663cfb0e0ddb.tar.bz2
misskey-60f7278aff27b9a0e03c1f1a2a77663cfb0e0ddb.zip
fix: Remote Note Cleaning will delete notes embedded in a page (#16408)
* feat: preserve number of pages referencing the note * chore: delete pages on account delete * fix: notes on the pages are removed by CleanRemoteNotes * test: add the simplest test for page embedded notes * fix: section block is not considered * fix: section block is not considered in migration * chore: remove comments from columns * revert unnecessary change * add pageCount to webhook test * fix type error on backend
Diffstat (limited to 'packages/backend/test/unit/queue/processors')
-rw-r--r--packages/backend/test/unit/queue/processors/CleanRemoteNotesProcessorService.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/backend/test/unit/queue/processors/CleanRemoteNotesProcessorService.ts b/packages/backend/test/unit/queue/processors/CleanRemoteNotesProcessorService.ts
index 597d6b90cd..631e160afc 100644
--- a/packages/backend/test/unit/queue/processors/CleanRemoteNotesProcessorService.ts
+++ b/packages/backend/test/unit/queue/processors/CleanRemoteNotesProcessorService.ts
@@ -281,6 +281,24 @@ describe('CleanRemoteNotesProcessorService', () => {
expect(remainingNote).not.toBeNull();
});
+ // ページ
+ test('should not delete note that is embedded in a page', async () => {
+ const job = createMockJob();
+
+ // Create old remote note that is embedded in a page
+ const clippedNote = await createNote({
+ pageCount: 1, // Embedded in a page
+ }, bob, Date.now() - ms(`${meta.remoteNotesCleaningExpiryDaysForEachNotes} days`) - 1000);
+
+ const result = await service.process(job as any);
+
+ expect(result.deletedCount).toBe(0);
+ expect(result.skipped).toBe(false);
+
+ const remainingNote = await notesRepository.findOneBy({ id: clippedNote.id });
+ expect(remainingNote).not.toBeNull();
+ });
+
// 古いreply, renoteが含まれている時の挙動
test('should handle reply/renote relationships correctly', async () => {
const job = createMockJob();