Browse Source

resolve conflict

yohei0125 4 years ago
parent
commit
9f2dd7942e
1 changed files with 47 additions and 43 deletions
  1. 47 43
      packages/app/test/integration/service/pagev5.test.ts

+ 47 - 43
packages/app/test/integration/service/pagev5.test.ts

@@ -229,110 +229,111 @@ describe('PageService page operations with only public pages', () => {
      * Duplicate
      */
     // page ids
-    const pageIdForParent1 = new mongoose.Types.ObjectId();
-    const pageIdForParent3 = new mongoose.Types.ObjectId();
-    const pageIdForChild3 = new mongoose.Types.ObjectId();
-    const pageIdForParent4 = new mongoose.Types.ObjectId();
-    const pageIdForChild4_1 = new mongoose.Types.ObjectId();
-    const pageIdForChild4_2 = new mongoose.Types.ObjectId();
+    const pageId1 = new mongoose.Types.ObjectId();
+    const pageId2 = new mongoose.Types.ObjectId();
+    const pageId3 = new mongoose.Types.ObjectId();
+    const pageId4 = new mongoose.Types.ObjectId();
+    const pageId5 = new mongoose.Types.ObjectId();
+    const pageId6 = new mongoose.Types.ObjectId();
 
     // revision ids
-    const revisionIdForParent1 = new mongoose.Types.ObjectId();
-    const revisionIdForChild3 = new mongoose.Types.ObjectId();
-    const revisionIdForParent4 = new mongoose.Types.ObjectId();
-    const revisionIdForChild4_1 = new mongoose.Types.ObjectId();
-    const revisionIdForChild4_2 = new mongoose.Types.ObjectId();
+    const revisionId1 = new mongoose.Types.ObjectId();
+    const revisionId2 = new mongoose.Types.ObjectId();
+    const revisionId3 = new mongoose.Types.ObjectId();
+    const revisionId4 = new mongoose.Types.ObjectId();
+    const revisionId5 = new mongoose.Types.ObjectId();
 
     await Page.insertMany([
       {
-        _id: pageIdForParent1,
+        _id: pageId1,
         path: '/v5_ParentForDuplicate1',
         grant: Page.GRANT_PUBLIC,
         creator: dummyUser1,
         lastUpdateUser: dummyUser1._id,
         parent: rootPage._id,
-        revision: revisionIdForParent1,
+        revision: revisionId1,
       },
       {
-        _id: pageIdForParent3,
+        _id: pageId2,
         path: '/v5_ParentForDuplicate3',
         grant: Page.GRANT_PUBLIC,
         parent: rootPage._id,
+        isEmpty: true,
       },
       {
-        _id: pageIdForParent4,
+        _id: pageId4,
         path: '/v5_ParentForDuplicate4',
         grant: Page.GRANT_PUBLIC,
         creator: dummyUser1,
         lastUpdateUser: dummyUser1._id,
         parent: rootPage._id,
-        revision: revisionIdForParent4,
+        revision: revisionId3,
       },
       // children
       {
-        _id: pageIdForChild3,
-        path: '/v5_ChildForDuplicate3',
+        _id: pageId3,
+        path: '/v5_ParentForDuplicate3/v5_ChildForDuplicate3',
         grant: Page.GRANT_PUBLIC,
         creator: dummyUser1,
         lastUpdateUser: dummyUser1._id,
-        parent: pageIdForParent3,
-        revision: revisionIdForChild3,
+        parent: pageId2,
+        revision: revisionId2,
       },
       {
-        _id: pageIdForChild4_1,
-        path: '/v5_ChildForDuplicate3',
+        _id: pageId5,
+        path: '/v5_ParentForDuplicate4/v5_Child1ForDuplicate4',
         grant: Page.GRANT_PUBLIC,
         creator: dummyUser1,
         lastUpdateUser: dummyUser1._id,
-        parent: pageIdForParent4,
-        revision: revisionIdForChild4_1,
+        parent: pageId4,
+        revision: revisionId4,
       },
       {
-        _id: pageIdForChild4_2,
-        path: '/v5_ChildForDuplicate3',
+        _id: pageId6,
+        path: '/v5_ParentForDuplicate4/v5_Child2ForDuplicate4',
         grant: Page.GRANT_PUBLIC,
         creator: dummyUser1,
         lastUpdateUser: dummyUser1._id,
-        parent: pageIdForParent4,
-        revision: revisionIdForChild4_2,
+        parent: pageId4,
+        revision: revisionId5,
       },
     ]);
 
     // Revision
     await Revision.insertMany([
       {
-        _id: revisionIdForParent1,
+        _id: revisionId1,
         body: 'body1',
         format: 'markdown',
-        pageId: pageIdForParent1,
+        pageId: pageId1,
         author: dummyUser1,
       },
       {
-        _id: revisionIdForChild3,
+        _id: revisionId2,
         body: 'body3',
         format: 'markdown',
-        pageId: pageIdForChild3,
+        pageId: pageId3,
         author: dummyUser1,
       },
       {
-        _id: revisionIdForParent4,
+        _id: revisionId3,
         body: 'body4',
         format: 'markdown',
-        pageId: pageIdForParent4,
+        pageId: pageId4,
         author: dummyUser1,
       },
       {
-        _id: revisionIdForChild4_1,
+        _id: revisionId4,
         body: 'body4',
         format: 'markdown',
-        pageId: pageIdForChild4_1,
+        pageId: pageId5,
         author: dummyUser1,
       },
       {
-        _id: revisionIdForChild4_2,
+        _id: revisionId5,
         body: 'body4',
         format: 'markdown',
-        pageId: pageIdForChild4_2,
+        pageId: pageId6,
         author: dummyUser1,
       },
     ]);
@@ -496,7 +497,7 @@ describe('PageService page operations with only public pages', () => {
       expect(duplicatedPage.revision).toStrictEqual(duplicatedRevision._id);
       expect(duplicatedRevision.body).toEqual(baseRevision.body);
     });
-    test('Should NOT duplicate empty page', async() => {
+    test('Should NOT duplicate single empty page', async() => {
       const newPagePath = '/duplicatedParentForDuplicate3';
       let isThrown;
       let duplicatedPage;
@@ -511,10 +512,13 @@ describe('PageService page operations with only public pages', () => {
       expect(isThrown).toBe(true);
     });
     test('Should duplicate multiple pages', async() => {
-      // a
-    });
-    test('Should keep grant', async() => {
-      // a
+      const newPagePath = '/duplicatedParentForDuplicate4';
+      const duplicatedPage = await duplicate(parentForDuplicate4, newPagePath, dummyUser1, true);
+      const childrenForBasePage = await Page.find({ parent: parentForDuplicate4._id });
+      const childrenForDuplicatedPage = await Page.find({ parent: duplicatedPage._id });
+
+      expect(duplicatedPage.path).toBe(newPagePath);
+      expect(childrenForDuplicatedPage.length).toBe(childrenForBasePage.length);
     });
   });