yohei0125 4 лет назад
Родитель
Сommit
fa4f8a263d
1 измененных файлов с 65 добавлено и 0 удалено
  1. 65 0
      packages/app/test/integration/models/pagev5.test.js

+ 65 - 0
packages/app/test/integration/models/pagev5.test.js

@@ -0,0 +1,65 @@
+import mongoose from 'mongoose';
+
+import { getInstance } from '../setup-crowi';
+
+describe('Page', () => {
+// ルートの下にページ作成
+// /a/bを作成
+// 子持ち空ページのパスでcreate
+  let crowi;
+  let Page;
+  let Revision;
+  let User;
+  let Tag;
+  let PageTagRelation;
+  let Bookmark;
+  let Comment;
+  let ShareLink;
+  let PageRedirect;
+  let xssSpy;
+
+  let rootPage;
+  let dummyUser1;
+
+  beforeAll(async() => {
+    crowi = await getInstance();
+    await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
+
+    jest.restoreAllMocks();
+    User = mongoose.model('User');
+    Page = mongoose.model('Page');
+    Revision = mongoose.model('Revision');
+    Tag = mongoose.model('Tag');
+    PageTagRelation = mongoose.model('PageTagRelation');
+    Bookmark = mongoose.model('Bookmark');
+    Comment = mongoose.model('Comment');
+    ShareLink = mongoose.model('ShareLink');
+    PageRedirect = mongoose.model('PageRedirect');
+
+    dummyUser1 = await User.findOne({ username: 'v5DummyUser1' });
+    if (dummyUser1 == null) {
+      dummyUser1 = await User.create({ name: 'v5DummyUser1', username: 'v5DummyUser1', email: 'v5DummyUser1@example.com' });
+    }
+
+    rootPage = await Page.findOne({ path: '/' });
+    if (rootPage == null) {
+      const pages = await Page.insertMany([
+        {
+          path: '/',
+          grant: Page.GRANT_PUBLIC,
+        },
+      ]);
+      rootPage = pages[0];
+    }
+
+
+  });
+  describe('create', () => {
+    test('Should create single page', async() => {
+      const page = await Page.create('/v5_create1', 'create1', dummyUser1, {});
+      expect(page).toBeTruthy();
+      expect(page.path).toBe('/v5_create1');
+      expect(page.parent).toStrictEqual(rootPage._id);
+    });
+  });
+});