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

+ 23 - 8
packages/app/test/integration/models/v5.page.test.js

@@ -111,6 +111,7 @@ describe('Page', () => {
     const pageIdUpd9 = new mongoose.Types.ObjectId();
     const pageIdUpd10 = new mongoose.Types.ObjectId();
     const pageIdUpd11 = new mongoose.Types.ObjectId();
+    const pageIdUpd12 = new mongoose.Types.ObjectId();
 
     await Page.insertMany([
       {
@@ -165,7 +166,7 @@ describe('Page', () => {
       },
       {
         _id: pageIdUpd6,
-        path: '/mup9_pub/mup10_pub/mup11_awl',
+        path: '/mup16_top/mup9_pub/mup10_pub/mup11_awl',
         grant: Page.GRANT_RESTRICTED,
         creator: dummyUser1,
         lastUpdateUser: dummyUser1._id,
@@ -218,6 +219,16 @@ describe('Page', () => {
         parent: rootPage._id,
         descendantCount: 1,
       },
+      {
+        _id: pageIdUpd12,
+        path: '/mup16_top',
+        grant: Page.GRANT_PUBLIC,
+        creator: dummyUser1,
+        lastUpdateUser: dummyUser1._id,
+        isEmpty: false,
+        parent: rootPage._id,
+        descendantCount: 0,
+      },
     ]);
 
   });
@@ -375,28 +386,32 @@ describe('Page', () => {
     });
     describe('Changing grant from RESTRICTED to PUBLIC of', () => {
       test('a page will create ancestors if they do not exist', async() => {
-        const page = await Page.findOne({ path: '/mup9_pub/mup10_pub/mup11_awl', grant: Page.GRANT_RESTRICTED });
-        const page1 = await Page.findOne({ path: '/mup9_pub/' });
-        const page2 = await Page.findOne({ path: '/mup9_pub/mup10_pub' });
+        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' });
         expectAllToBeTruthy([page]);
         expect(page1).toBeNull();
         expect(page2).toBeNull();
 
         await Page.updatePage(page, 'newRevisionBody', 'oldRevisionBody', dummyUser1, { grant: 1 });
 
-        const pageAF = await Page.findOne({ path: '/mup9_pub/mup10_pub/mup11_awl' });
-        const page1AF = await Page.findOne({ path: '/mup9_pub' });
-        const page2AF = await Page.findOne({ path: '/mup9_pub/mup10_pub' });
+        const topAF = await Page.findOne({ path: '/mup16_top' });
+        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' });
         expectAllToBeTruthy([pageAF, page1AF, page2AF]);
 
         expect(pageAF.grant).toBe(Page.GRANT_PUBLIC);
         expect(pageAF.parent).toStrictEqual(page2AF._id);
 
         expect(page1AF.isEmpty).toBe(true);
-        expect(page1AF.parent).toStrictEqual(rootPage._id);
+        expect(page1AF.parent).toStrictEqual(top._id);
 
         expect(page2AF.isEmpty).toBe(true);
         expect(page2AF.parent).toStrictEqual(page1AF._id);
+
+        expect(topAF.descendantCount).toBe(1);
       });
       test('a page will replace an empty page with the same path if any', async() => {
         const page1 = await Page.findOne({ path: '/mup12_emp', grant: Page.GRANT_PUBLIC, isEmpty: true });