Browse Source

refs #90324: テスト用のユーザーグループを用意
- FB 対応
- global-setup → integration テストのファイル内に移動

Tatsuya Ise 4 years ago
parent
commit
66eab0d2a6

+ 0 - 25
packages/app/test/integration/global-setup.js

@@ -27,8 +27,6 @@ module.exports = async() => {
   // init DB
   const pageCollection = mongoose.connection.collection('pages');
   const userCollection = mongoose.connection.collection('users');
-  const userGroupCollection = mongoose.connection.collection('userGroups');
-  const userGroupRelationCollection = mongoose.connection.collection('userGroupRelations');
 
   // create global user & rootPage
   const globalUser = (await userCollection.insertMany([{ name: 'globalUser', username: 'globalUser', email: 'globalUser@example.com' }]))[0];
@@ -37,29 +35,6 @@ module.exports = async() => {
     { name: 'v5DummyUser2', username: 'v5DummyUser2', email: 'v5DummyUser2@example.com' },
   ]);
 
-  await userGroupCollection.insertMany([{ name: 'DummyGroup1' }]);
-  const dummyUserGroup1 = await userCollection.findOne({ username: 'v5DummyUser1' });
-  await userGroupCollection.insertMany([{ name: 'DummyChildGroup2', parent: dummyUserGroup1 }]);
-  const dummyChildUserGroup2 = await userGroupCollection.findOne({ name: 'DummyChildGroup2' });
-
-  const dummyUser1 = await userCollection.findOne({ username: 'v5DummyUser1' });
-  const dummyUser2 = await userCollection.findOne({ username: 'v5DummyUser2' });
-
-  await userGroupRelationCollection.insertMany([
-    {
-      relatedGroup: dummyUserGroup1,
-      relatedUser: dummyUser1,
-    },
-    {
-      relatedGroup: dummyUserGroup1,
-      relatedUser: dummyUser2,
-    },
-    {
-      relatedGroup: dummyChildUserGroup2,
-      relatedUser: dummyUser1,
-    },
-  ]);
-
   await pageCollection.insertMany([{
     path: '/',
     grant: 1,

+ 24 - 0
packages/app/test/integration/service/v5.non-public-page.test.ts

@@ -14,6 +14,8 @@ describe('PageService page operations with non-public pages', () => {
   let Page;
   let Revision;
   let User;
+  let UserGroup;
+  let UserGroupRelation;
   let Tag;
   let PageTagRelation;
   let Bookmark;
@@ -37,6 +39,8 @@ describe('PageService page operations with non-public pages', () => {
     await crowi.configManager.updateConfigsInTheSameNamespace('crowi', { 'app:isV5Compatible': true });
 
     User = mongoose.model('User');
+    UserGroup = mongoose.model('UserGroup');
+    UserGroupRelation = mongoose.model('UserGroupRelation');
     Page = mongoose.model('Page');
     Revision = mongoose.model('Revision');
     Tag = mongoose.model('Tag');
@@ -53,6 +57,26 @@ describe('PageService page operations with non-public pages', () => {
     dummyUser1 = await User.findOne({ username: 'v5DummyUser1' });
     dummyUser2 = await User.findOne({ username: 'v5DummyUser2' });
 
+    await UserGroup.insertMany([{ name: 'DummyGroup1' }]);
+    const dummyUserGroup1 = await UserGroup.findOne({ username: 'v5DummyUser1' });
+    await UserGroup.insertMany([{ name: 'DummyChildGroup2', parent: dummyUserGroup1 }]);
+    const dummyChildUserGroup2 = await UserGroup.findOne({ name: 'DummyChildGroup2' });
+
+    await UserGroupRelation.insertMany([
+      {
+        relatedGroup: dummyUserGroup1,
+        relatedUser: dummyUser1,
+      },
+      {
+        relatedGroup: dummyUserGroup1,
+        relatedUser: dummyUser2,
+      },
+      {
+        relatedGroup: dummyChildUserGroup2,
+        relatedUser: dummyUser1,
+      },
+    ]);
+
     xssSpy = jest.spyOn(crowi.xss, 'process').mockImplementation(path => path);
 
     rootPage = await Page.findOne({ path: '/' });