yohei0125 4 лет назад
Родитель
Сommit
194eff7eb8
1 измененных файлов с 46 добавлено и 59 удалено
  1. 46 59
      packages/app/test/integration/models/v5.page.test.js

+ 46 - 59
packages/app/test/integration/models/v5.page.test.js

@@ -345,14 +345,12 @@ describe('Page', () => {
         const _pageT = await Page.findOne({ path: pathT });
         const _page1 = await Page.findOne({ path: path1, grant: Page.GRANT_RESTRICTED });
         const _page2 = await Page.findOne({ path: path1, grant: Page.GRANT_PUBLIC, isEmpty: true });
+        const _pageN = await Page.findOne({ path: pathN, grant: Page.GRANT_PUBLIC }); // newly crated
         expect(_pageT).toBeTruthy();
         expect(_page1).toBeTruthy();
         expect(_page2).toBeTruthy();
-
-        const createdPage = await Page.findOne({ path: pathN, grant: Page.GRANT_PUBLIC });
-        expect(createdPage).toBeTruthy();
-        expect(createdPage.parent).toStrictEqual(_page2._id);
-
+        expect(_pageN).toBeTruthy();
+        expect(_pageN.parent).toStrictEqual(_page2._id);
         expect(_pageT.descendantCount).toStrictEqual(1);
       });
     });
@@ -367,21 +365,21 @@ describe('Page', () => {
         const path1 = '/mup13_top/mup1_emp';
         const path2 = '/mup13_top/mup1_emp/mup2_pub';
         const pageT = await Page.findOne({ path: pathT, descendantCount: 2 });
-        const page1 = await Page.findOne({ path: path1 });
+        const page1 = await Page.findOne({ path: path1, isEmpty: true });
         const page2 = await Page.findOne({ path: path2, grant: Page.GRANT_PUBLIC });
+        expect(pageT).toBeTruthy();
+        expect(page1).toBeTruthy();
+        expect(page2).toBeTruthy();
 
         const options = { grant: Page.GRANT_RESTRICTED, grantUserGroupId: null };
-        expectAllToBeTruthy([pageT, page1, page2]);
-
         await Page.updatePage(page2, 'newRevisionBody', 'oldRevisionBody', dummyUser1, options);
 
         const _pageT = await Page.findOne({ path: pathT });
         const _page1 = await Page.findOne({ path: path1 });
-        const _page2 = await Page.findOne({ path: path2 });
-        expect(_page2).toBeTruthy();
+        const _page2 = await Page.findOne({ path: path2, grant: Page.GRANT_RESTRICTED });
+        expect(_pageT).toBeTruthy();
         expect(_page1).toBeNull();
-
-        expect(_page2.grant).toBe(Page.GRANT_RESTRICTED);
+        expect(_page2).toBeTruthy();
         expect(_pageT.descendantCount).toBe(1);
       });
       test('a page that has children will create an empty page with the same path and it becomes a new parent', async() => {
@@ -408,68 +406,59 @@ describe('Page', () => {
         expect(_page1.parent).toBeNull();
         expect(_page2.parent).toStrictEqual(_pageN._id);
         expect(_pageN.parent).toStrictEqual(top._id);
-
         expect(_pageN.isEmpty).toBe(true);
-
         expect(_pageN.descendantCount).toBe(1);
         expect(_top.descendantCount).toBe(1);
       });
       test('of a leaf page will NOT have an empty page with the same path', async() => {
-        const path1 = '/mup15_top';
-        const path2 = '/mup15_top/mup8_pub';
-        const top = await Page.findOne({ path: path1, descendantCount: 1 });
-        const page = await Page.findOne({ path: path2, grant: Page.GRANT_PUBLIC });
-        const count = await Page.count({ path: path2 });
-        expect(top).toBeTruthy();
-        expect(page).toBeTruthy();
+        const pathT = '/mup15_top';
+        const path1 = '/mup15_top/mup8_pub';
+        const pageT = await Page.findOne({ path: pathT, descendantCount: 1 });
+        const page1 = await Page.findOne({ path: path1, grant: Page.GRANT_PUBLIC });
+        const count = await Page.count({ path: path1 });
+        expect(pageT).toBeTruthy();
+        expect(page1).toBeTruthy();
         expect(count).toBe(1);
 
-        await Page.updatePage(page, 'newRevisionBody', 'oldRevisionBody', dummyUser1, { grant: 2 });
-        // AU => After Update
-        const _top = await Page.findOne({ path: path1 });
-        const _page = await Page.findOne({ path: path2 });
-        const notExistantPage = await Page.findOne({ path: path2, isEmpty: true });
-        const _count = await Page.count({ path: path2 });
-        expect(_page).toBeTruthy();
-        expect(_count).toBe(1);
-
-        expect(notExistantPage).toBeNull();
-        expect(_page.grant).toBe(Page.GRANT_RESTRICTED);
+        await Page.updatePage(page1, 'newRevisionBody', 'oldRevisionBody', dummyUser1, { grant: Page.GRANT_RESTRICTED });
 
-        expect(_top.descendantCount).toBe(0);
+        const _pageT = await Page.findOne({ path: pathT });
+        const _page1 = await Page.findOne({ path: path1, grant: Page.GRANT_RESTRICTED });
+        const _pageNotExist = await Page.findOne({ path: path1, isEmpty: true });
+        expect(_pageT).toBeTruthy();
+        expect(_page1).toBeTruthy();
+        expect(_pageNotExist).toBeNull();
+        expect(_pageT.descendantCount).toBe(0);
       });
     });
     describe('Changing grant from RESTRICTED to PUBLIC of', () => {
       test('a page will create ancestors if they do not exist', async() => {
-        const top = await Page.findOne({ path: '/mup16_top' });
-        const page = await Page.findOne({ path: '/mup16_top/mup9_pub/mup10_pub/mup11_awl', grant: Page.GRANT_RESTRICTED });
-        const page1 = await Page.findOne({ path: '/mup16_top/mup9_pub' });
-        const page2 = await Page.findOne({ path: '/mup16_top/mup9_pub/mup10_pub' });
+        const pathT = '/mup16_top';
+        const path3 = '/mup16_top/mup9_pub/mup10_pub/mup11_awl';
+        const path1 = '/mup16_top/mup9_pub';
+        const path2 = '/mup16_top/mup9_pub/mup10_pub';
+        const top = await Page.findOne({ path: pathT });
+        const page1 = await Page.findOne({ path: path1 });
+        const page2 = await Page.findOne({ path: path2 });
+        const page3 = await Page.findOne({ path: path3, grant: Page.GRANT_RESTRICTED });
         expect(top).toBeTruthy();
-        expect(page).toBeTruthy();
+        expect(page3).toBeTruthy();
         expect(page1).toBeNull();
         expect(page2).toBeNull();
 
-        await Page.updatePage(page, 'newRevisionBody', 'oldRevisionBody', dummyUser1, { grant: 1 });
-
-        const topAF = await Page.findOne({ _id: top._id });
-        const pageAF = await Page.findOne({ _id: page._id });
-        const page1AF = await Page.findOne({ path: '/mup16_top/mup9_pub' });
-        const page2AF = await Page.findOne({ path: '/mup16_top/mup9_pub/mup10_pub' });
-        expect(pageAF).toBeTruthy();
-        expect(page1AF).toBeTruthy();
-        expect(page2AF).toBeTruthy();
+        await Page.updatePage(page3, 'newRevisionBody', 'oldRevisionBody', dummyUser1, { grant: Page.GRANT_PUBLIC });
 
-        expect(pageAF.grant).toBe(Page.GRANT_PUBLIC);
-        expect(pageAF.parent).toStrictEqual(page2AF._id);
-
-        expect(page1AF.isEmpty).toBe(true);
-        expect(page1AF.parent).toStrictEqual(top._id);
-
-        expect(page2AF.isEmpty).toBe(true);
-        expect(page2AF.parent).toStrictEqual(page1AF._id);
-
-        expect(topAF.descendantCount).toBe(1);
+        const _pageT = await Page.findOne({ path: pathT });
+        const _page1 = await Page.findOne({ path: path1, isEmpty: true });
+        const _page2 = await Page.findOne({ path: path2, isEmpty: true });
+        const _page3 = await Page.findOne({ path: path3, grant: Page.GRANT_PUBLIC });
+        expect(_page1).toBeTruthy();
+        expect(_page2).toBeTruthy();
+        expect(_page3).toBeTruthy();
+        expect(_page1.parent).toStrictEqual(top._id);
+        expect(_page2.parent).toStrictEqual(_page1._id);
+        expect(_page3.parent).toStrictEqual(_page2._id);
+        expect(_pageT.descendantCount).toBe(1);
       });
       test('a page will replace an empty page with the same path if any', async() => {
         const top = await Page.findOne({ path: '/mup17_top', descendantCount: 1 });
@@ -490,11 +479,9 @@ describe('Page', () => {
         expect(page1AF).toBeNull();
         expect(page2AF).toBeTruthy();
         expect(page3AF).toBeTruthy();
-
         expect(page2AF.grant).toBe(Page.GRANT_PUBLIC);
         expect(page2AF.parent).toStrictEqual(topAF._id);
         expect(page3AF.parent).toStrictEqual(page2AF._id);
-
         expect(topAF.descendantCount).toBe(2);
       });
     });