Compare commits

...

2 Commits

Author SHA1 Message Date
Acid Chicken (硫酸鶏) 3238f60780
Update api.ts 2019-03-26 19:15:59 +09:00
Acid Chicken (硫酸鶏) 33ea1db30d
Update update.ts 2019-03-26 19:07:31 +09:00
2 changed files with 17 additions and 1 deletions

View File

@ -83,7 +83,9 @@ export default define(meta, async (ps, user) => {
if (ps.name) folder.name = ps.name;
if (ps.parentId !== undefined) {
if (ps.parentId === null) {
if (ps.parentId.equals(folder._id)) {
throw new ApiError(meta.errors.recursiveNesting);
} else if (ps.parentId === null) {
folder.parentId = null;
} else {
// Get parent folder

View File

@ -1141,6 +1141,20 @@ describe('API', () => {
expect(res).have.status(400);
}));
it('フォルダが循環するような構造にできない(自身)', async(async () => {
const arisugawa = await signup({ username: 'arisugawa' });
const folderA = (await request('/drive/folders/create', {
name: 'test'
}, arisugawa)).body;
const res = await request('/drive/folders/update', {
folderId: folderA.id,
parentId: folderA.id
}, arisugawa);
expect(res).have.status(400);
}));
it('存在しない親フォルダを設定できない', async(async () => {
const alice = await signup({ username: 'alice' });
const folder = (await request('/drive/folders/create', {