|
@@ -2,48 +2,124 @@ const mongoose = require('mongoose');
|
|
|
|
|
|
|
|
const { getInstance } = require('../setup-crowi');
|
|
const { getInstance } = require('../setup-crowi');
|
|
|
|
|
|
|
|
-let testUser;
|
|
|
|
|
-let testGroup;
|
|
|
|
|
|
|
+let testUser1;
|
|
|
|
|
+let testUser2;
|
|
|
|
|
+let parentTag;
|
|
|
|
|
+let childTag;
|
|
|
|
|
+
|
|
|
|
|
+let parentForRename;
|
|
|
|
|
+let parentForDuplicate;
|
|
|
|
|
+let parentForDelete;
|
|
|
|
|
+let parentForDeleteCompletely;
|
|
|
|
|
+let parentForRevert;
|
|
|
|
|
+
|
|
|
|
|
+let childForRename;
|
|
|
|
|
+let childForDuplicate;
|
|
|
|
|
+let childForDelete;
|
|
|
|
|
+let childForDeleteCompletely;
|
|
|
|
|
+let childForRevert;
|
|
|
|
|
|
|
|
describe('PageService', () => {
|
|
describe('PageService', () => {
|
|
|
// eslint-disable-next-line no-unused-vars
|
|
// eslint-disable-next-line no-unused-vars
|
|
|
let crowi;
|
|
let crowi;
|
|
|
let Page;
|
|
let Page;
|
|
|
let User;
|
|
let User;
|
|
|
- let UserGroup;
|
|
|
|
|
- let UserGroupRelation;
|
|
|
|
|
|
|
+ let Tag;
|
|
|
|
|
+ let PageTagRelation;
|
|
|
|
|
|
|
|
beforeAll(async(done) => {
|
|
beforeAll(async(done) => {
|
|
|
crowi = await getInstance();
|
|
crowi = await getInstance();
|
|
|
|
|
|
|
|
User = mongoose.model('User');
|
|
User = mongoose.model('User');
|
|
|
- UserGroup = mongoose.model('UserGroup');
|
|
|
|
|
- UserGroupRelation = mongoose.model('UserGroupRelation');
|
|
|
|
|
Page = mongoose.model('Page');
|
|
Page = mongoose.model('Page');
|
|
|
|
|
+ Tag = mongoose.model('Tag');
|
|
|
|
|
+ PageTagRelation = mongoose.model('PageTagRelation');
|
|
|
|
|
|
|
|
- await User.insertMany([{
|
|
|
|
|
- name: 'Anon', username: 'anonymous', email: 'anonymous@example.com',
|
|
|
|
|
- }]);
|
|
|
|
|
-
|
|
|
|
|
- await UserGroup.insertMany([{
|
|
|
|
|
- name: 'TestGroup',
|
|
|
|
|
- }]);
|
|
|
|
|
-
|
|
|
|
|
- testUser = await User.findOne({ username: 'anonymous' });
|
|
|
|
|
- testGroup = await UserGroup.findOne({ name: 'TestGroup' });
|
|
|
|
|
|
|
+ await User.insertMany([
|
|
|
|
|
+ { name: 'Anon', username: 'anonymous1', email: 'anonymous1@example.com' },
|
|
|
|
|
+ { name: 'Anon2', username: 'anonymous2', email: 'anonymous2@example.com' },
|
|
|
|
|
+ ]);
|
|
|
|
|
|
|
|
- await UserGroupRelation.insertMany([{
|
|
|
|
|
- relatedGroup: testGroup,
|
|
|
|
|
- relatedUser: testUser,
|
|
|
|
|
- }]);
|
|
|
|
|
|
|
+ testUser1 = await User.findOne({ username: 'anonymous1' });
|
|
|
|
|
+ testUser2 = await User.findOne({ username: 'anonymous2' });
|
|
|
|
|
|
|
|
await Page.insertMany([
|
|
await Page.insertMany([
|
|
|
{
|
|
{
|
|
|
- path: '/user/anonymous0/memo',
|
|
|
|
|
- grant: Page.GRANT_RESTRICTED,
|
|
|
|
|
- grantedUsers: [testUser],
|
|
|
|
|
- creator: testUser,
|
|
|
|
|
|
|
+ path: '/parentForRename',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForRename/child',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForDuplicate',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForDuplicate/child',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForDelete',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForDelete/child',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForDeleteCompletely',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForDeleteCompletely/child',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForRevert',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: '/parentForRevert/child',
|
|
|
|
|
+ grant: Page.GRANT_PUBLIC,
|
|
|
|
|
+ creator: testUser1,
|
|
|
|
|
+ },
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ parentForRename = await Page.findOne({ path: '/parentForRename' });
|
|
|
|
|
+ parentForDuplicate = await Page.findOne({ path: '/parentForDuplicate' });
|
|
|
|
|
+ parentForDelete = await Page.findOne({ path: '/parentForDelete' });
|
|
|
|
|
+ parentForDeleteCompletely = await Page.findOne({ path: '/parentForDeleteCompletely' });
|
|
|
|
|
+ parentForRevert = await Page.findOne({ path: '/parentForRevert' });
|
|
|
|
|
+
|
|
|
|
|
+ childForRename = await Page.findOne({ path: '/parentForRename/child' });
|
|
|
|
|
+ childForDuplicate = await Page.findOne({ path: '/parentForDuplicate/child' });
|
|
|
|
|
+ childForDelete = await Page.findOne({ path: '/parentForDelete/child' });
|
|
|
|
|
+ childForDeleteCompletely = await Page.findOne({ path: '/parentForDeleteCompletely/child' });
|
|
|
|
|
+ childForRevert = await Page.findOne({ path: '/parentForRevert/child' });
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ await Tag.insertMany([
|
|
|
|
|
+ { name: 'Parent' },
|
|
|
|
|
+ { name: 'Child' },
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ parentTag = await Tag.findOne({ name: 'Parent' });
|
|
|
|
|
+ childTag = await Tag.findOne({ name: 'Child' });
|
|
|
|
|
+
|
|
|
|
|
+ await PageTagRelation.insertMany([
|
|
|
|
|
+ { relatedPage: parentForDuplicate, relatedTag: parentTag },
|
|
|
|
|
+ { relatedPage: childForDuplicate, relatedTag: childTag },
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
|
done();
|
|
done();
|