Selaa lähdekoodia

refactor delete

yohei0125 4 vuotta sitten
vanhempi
sitoutus
66096d868e
1 muutettua tiedostoa jossa 26 lisäystä ja 31 poistoa
  1. 26 31
      packages/app/test/integration/service/pagev5.test.ts

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

@@ -43,19 +43,6 @@ describe('PageService page operations with only public pages', () => {
   let childForRename6;
   let childForRename6;
   let childForRename7;
   let childForRename7;
 
 
-  /**
-   * Delete
-   */
-  let v5PageForDelete1;
-  let v5PageForDelete2;
-  let v5PageForDelete3;
-  let v5PageForDelete4;
-  let v5PageForDelete5;
-  let v5PageForDelete6;
-
-  let tagForDelete1;
-  let tagForDelete2;
-
   // pass unless the data is one of [false, 0, '', null, undefined, NaN]
   // pass unless the data is one of [false, 0, '', null, undefined, NaN]
   const expectAllToBeTruthy = (dataList) => {
   const expectAllToBeTruthy = (dataList) => {
     dataList.forEach((data) => {
     dataList.forEach((data) => {
@@ -330,25 +317,23 @@ describe('PageService page operations with only public pages', () => {
       },
       },
     ]);
     ]);
 
 
-
-    v5PageForDelete1 = await Page.findOne({ path: '/trash/v5_PageForDelete1' });
-    v5PageForDelete2 = await Page.findOne({ path: '/v5_PageForDelete2' });
-    v5PageForDelete3 = await Page.findOne({ path: '/v5_PageForDelete3' });
-    v5PageForDelete4 = await Page.findOne({ path: '/v5_PageForDelete3/v5_PageForDelete4' });
-    v5PageForDelete5 = await Page.findOne({ path: '/v5_PageForDelete3/v5_PageForDelete4/v5_PageForDelete5' });
-    v5PageForDelete6 = await Page.findOne({ path: '/v5_PageForDelete6' });
+    const tagIdForDelete1 = new mongoose.Types.ObjectId();
+    const tagIdForDelete2 = new mongoose.Types.ObjectId();
 
 
     await Tag.insertMany([
     await Tag.insertMany([
-      { name: 'TagForDelete1' },
-      { name: 'TagForDelete2' },
+      {
+        _id: tagIdForDelete1,
+        name: 'TagForDelete1',
+      },
+      {
+        _id: tagIdForDelete2,
+        name: 'TagForDelete2',
+      },
     ]);
     ]);
 
 
-    tagForDelete1 = await Tag.findOne({ name: 'TagForDelete1' });
-    tagForDelete2 = await Tag.findOne({ name: 'TagForDelete2' });
-
     await PageTagRelation.insertMany([
     await PageTagRelation.insertMany([
-      { relatedPage: v5PageForDelete6._id, relatedTag: tagForDelete1 },
-      { relatedPage: v5PageForDelete6._id, relatedTag: tagForDelete2 },
+      { relatedPage: pageIdForDelete3, relatedTag: tagIdForDelete1 },
+      { relatedPage: pageIdForDelete3, relatedTag: tagIdForDelete2 },
     ]);
     ]);
   });
   });
 
 
@@ -522,6 +507,7 @@ describe('PageService page operations with only public pages', () => {
       expect(isThrown).toBe(true);
       expect(isThrown).toBe(true);
     });
     });
     test('Should NOT delete trashed page', async() => {
     test('Should NOT delete trashed page', async() => {
+      const v5PageForDelete1 = await Page.findOne({ path: '/trash/v5_PageForDelete1' });
       let isThrown;
       let isThrown;
       try {
       try {
         await deletePage(v5PageForDelete1, dummyUser1, {}, false);
         await deletePage(v5PageForDelete1, dummyUser1, {}, false);
@@ -542,6 +528,7 @@ describe('PageService page operations with only public pages', () => {
       expect(isThrown).toBe(true);
       expect(isThrown).toBe(true);
     });
     });
     test('Should delete single page', async() => {
     test('Should delete single page', async() => {
+      const v5PageForDelete2 = await Page.findOne({ path: '/v5_PageForDelete2' });
       const oldPath = v5PageForDelete2.path;
       const oldPath = v5PageForDelete2.path;
       const deletedPage = await deletePage(v5PageForDelete2, dummyUser1, {}, false);
       const deletedPage = await deletePage(v5PageForDelete2, dummyUser1, {}, false);
 
 
@@ -550,6 +537,10 @@ describe('PageService page operations with only public pages', () => {
       expect(deletedPage.status).toBe(Page.STATUS_DELETED);
       expect(deletedPage.status).toBe(Page.STATUS_DELETED);
     });
     });
     test('Should delete multiple pages including empty child', async() => {
     test('Should delete multiple pages including empty child', async() => {
+      const v5PageForDelete3 = await Page.findOne({ path: '/v5_PageForDelete3' });
+      const v5PageForDelete4 = await Page.findOne({ path: '/v5_PageForDelete3/v5_PageForDelete4' });
+      const v5PageForDelete5 = await Page.findOne({ path: '/v5_PageForDelete3/v5_PageForDelete4/v5_PageForDelete5' });
+
       const deletedPage = await deletePage(v5PageForDelete3, dummyUser1, {}, true);
       const deletedPage = await deletePage(v5PageForDelete3, dummyUser1, {}, true);
       const deletedV5PageForDelete4 = await Page.findOne({ path: `/trash${v5PageForDelete4.path}` });
       const deletedV5PageForDelete4 = await Page.findOne({ path: `/trash${v5PageForDelete4.path}` });
       const deletedV5PageForDelete5 = await Page.findOne({ path: `/trash${v5PageForDelete5.path}` });
       const deletedV5PageForDelete5 = await Page.findOne({ path: `/trash${v5PageForDelete5.path}` });
@@ -566,13 +557,17 @@ describe('PageService page operations with only public pages', () => {
       expect(deletedV5PageForDelete5.parent).toBeNull();
       expect(deletedV5PageForDelete5.parent).toBeNull();
     });
     });
     test('Should delete page tags', async() => {
     test('Should delete page tags', async() => {
+      const v5PageForDelete6 = await Page.findOne({ path: '/v5_PageForDelete6' });
+      const tag1 = await Tag.findOne({ name: 'TagForDelete1' });
+      const tag2 = await Tag.findOne({ name: 'TagForDelete2' });
+
       const deletedPage = await deletePage(v5PageForDelete6, dummyUser1, {}, false);
       const deletedPage = await deletePage(v5PageForDelete6, dummyUser1, {}, false);
-      const deletedTag1 = await PageTagRelation.findOne({ relatedpage: deletedPage._id, relatedTag: tagForDelete1 });
-      const deletedTag2 = await PageTagRelation.findOne({ relatedpage: deletedPage._id, relatedTag: tagForDelete2 });
+      const deletedTagRelation1 = await PageTagRelation.findOne({ relatedpage: deletedPage._id, relatedTag: tag1._id });
+      const deletedTagRelation2 = await PageTagRelation.findOne({ relatedpage: deletedPage._id, relatedTag: tag2._id });
 
 
       expect(deletedPage.status).toBe(Page.STATUS_DELETED);
       expect(deletedPage.status).toBe(Page.STATUS_DELETED);
-      expect(deletedTag1.isPageTrashed).toBe(true);
-      expect(deletedTag2.isPageTrashed).toBe(true);
+      expect(deletedTagRelation1.isPageTrashed).toBe(true);
+      expect(deletedTagRelation2.isPageTrashed).toBe(true);
     });
     });
   });
   });