Sfoglia il codice sorgente

implement Should completely delete single page

yohei0125 4 anni fa
parent
commit
319f53e33a
1 ha cambiato i file con 31 aggiunte e 5 eliminazioni
  1. 31 5
      packages/app/test/integration/service/pagev5.test.ts

+ 31 - 5
packages/app/test/integration/service/pagev5.test.ts

@@ -56,6 +56,11 @@ describe('PageService page operations with only public pages', () => {
   let tagForDelete1;
   let tagForDelete1;
   let tagForDelete2;
   let tagForDelete2;
 
 
+  /**
+   * Delete completely
+   */
+  let v5PageForDeleteCompletely1;
+
   beforeAll(async() => {
   beforeAll(async() => {
     crowi = await getInstance();
     crowi = await getInstance();
     await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
     await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
@@ -343,6 +348,22 @@ describe('PageService page operations with only public pages', () => {
       { relatedPage: v5PageForDelete6._id, relatedTag: tagForDelete1 },
       { relatedPage: v5PageForDelete6._id, relatedTag: tagForDelete1 },
       { relatedPage: v5PageForDelete6._id, relatedTag: tagForDelete2 },
       { relatedPage: v5PageForDelete6._id, relatedTag: tagForDelete2 },
     ]);
     ]);
+
+    /**
+     * Delete completely
+     */
+    await Page.insertMany([
+      {
+        path: '/v5_PageForDeleteCompletely1',
+        grant: Page.GRANT_PUBLIC,
+        creator: dummyUser1,
+        lastUpdateUser: dummyUser1._id,
+        parent: rootPage._id,
+        status: Page.STATUS_PUBLISHED,
+      },
+    ]);
+
+    v5PageForDeleteCompletely1 = await Page.findOne({ path: '/v5_PageForDeleteCompletely1' });
   });
   });
 
 
   describe('Rename', () => {
   describe('Rename', () => {
@@ -574,7 +595,7 @@ describe('PageService page operations with only public pages', () => {
       const mockedResumableDeleteCompletelyDescendants = jest.spyOn(crowi.pageService, 'resumableDeleteCompletelyDescendants').mockReturnValue(null);
       const mockedResumableDeleteCompletelyDescendants = jest.spyOn(crowi.pageService, 'resumableDeleteCompletelyDescendants').mockReturnValue(null);
       const mockedCreateAndSendNotifications = jest.spyOn(crowi.pageService, 'createAndSendNotifications').mockReturnValue(null);
       const mockedCreateAndSendNotifications = jest.spyOn(crowi.pageService, 'createAndSendNotifications').mockReturnValue(null);
 
 
-      const deletedPage = await crowi.pageService.deletePage(page, user, options, isRecursively, preventEmitting);
+      await crowi.pageService.deleteCompletely(page, user, options, isRecursively, preventEmitting);
 
 
       const argsForResumableDeleteDescendants = mockedResumableDeleteCompletelyDescendants.mock.calls[0];
       const argsForResumableDeleteDescendants = mockedResumableDeleteCompletelyDescendants.mock.calls[0];
 
 
@@ -585,7 +606,7 @@ describe('PageService page operations with only public pages', () => {
         await crowi.pageService.resumableDeleteDescendants(...argsForResumableDeleteDescendants);
         await crowi.pageService.resumableDeleteDescendants(...argsForResumableDeleteDescendants);
       }
       }
 
 
-      return deletedPage;
+      return;
     };
     };
 
 
     test('Should NOT completely delete root page', async() => {
     test('Should NOT completely delete root page', async() => {
@@ -599,14 +620,19 @@ describe('PageService page operations with only public pages', () => {
 
 
       expect(isThrown).toBe(true);
       expect(isThrown).toBe(true);
     });
     });
-    test('Should completely delete single page', async() => {});
+    test('Should completely delete single page', async() => {
+      await deleteCompletely(v5PageForDeleteCompletely1, dummyUser1, {}, false);
+      const deletedPage = await Page.findOne({ _id: v5PageForDeleteCompletely1._id });
+
+      expect(deletedPage).toBeNull();
+    });
     test('Should completely delete multiple pages', async() => {});
     test('Should completely delete multiple pages', async() => {});
     test('Should completely delete trashed page', async() => {});
     test('Should completely delete trashed page', async() => {});
   });
   });
 
 
   afterAll(async() => {
   afterAll(async() => {
-    await Page.deleteMany({});
-    await User.deleteMany({});
+    // await Page.deleteMany({});
+    // await User.deleteMany({});
   });
   });
 });
 });