diff --git a/backend/src/middleware/sluggifyMiddleware.js b/backend/src/middleware/sluggifyMiddleware.js index 5ef2944be..bbe47c9aa 100644 --- a/backend/src/middleware/sluggifyMiddleware.js +++ b/backend/src/middleware/sluggifyMiddleware.js @@ -30,18 +30,12 @@ export default { args.slug = args.slug || (await uniqueSlug(args.name, isUniqueFor(context, 'Group'))) return resolve(root, args, context, info) }, - UpdateGroup: async (resolve, root, args, context, info) => { - if (args.name) { - args.slug = args.slug || (await uniqueSlug(args.name, isUniqueFor(context, 'Group'))) - } - return resolve(root, args, context, info) - }, CreatePost: async (resolve, root, args, context, info) => { args.slug = args.slug || (await uniqueSlug(args.title, isUniqueFor(context, 'Post'))) return resolve(root, args, context, info) }, UpdatePost: async (resolve, root, args, context, info) => { - // TODO: is this absolutely correct, see condition in 'UpdateGroup' above? may it works accidentally, because args.slug is always send? + // TODO: is this absolutely correct? what happens if "args.title" is not defined? may it works accidentally, because "args.title" or "args.slug" is always send? args.slug = args.slug || (await uniqueSlug(args.title, isUniqueFor(context, 'Post'))) return resolve(root, args, context, info) }, diff --git a/backend/src/middleware/slugifyMiddleware.spec.js b/backend/src/middleware/slugifyMiddleware.spec.js index 0b022fb53..1fdfb7364 100644 --- a/backend/src/middleware/slugifyMiddleware.spec.js +++ b/backend/src/middleware/slugifyMiddleware.spec.js @@ -213,33 +213,6 @@ describe('slugifyMiddleware', () => { describe('if group exists', () => { describe('if new slug not(!) exists', () => { - describe('setting slug by group name', () => { - it('has the new slug', async () => { - await expect( - mutate({ - mutation: updateGroupMutation(), - variables: { - id: createGroupResult.data.CreateGroup.id, - name: 'My Best Group', - }, - }), - ).resolves.toMatchObject({ - data: { - UpdateGroup: { - name: 'My Best Group', - slug: 'my-best-group', - about: 'Some about', - description: 'Some description' + descriptionAdditional100, - groupType: 'closed', - actionRadius: 'national', - myRole: 'owner', - }, - }, - errors: undefined, - }) - }) - }) - describe('setting slug explicitly', () => { it('has the new slug', async () => { await expect( @@ -284,33 +257,6 @@ describe('slugifyMiddleware', () => { }) }) - describe('setting slug by group name', () => { - it('has unique slug "*-1"', async () => { - await expect( - mutate({ - mutation: updateGroupMutation(), - variables: { - id: createGroupResult.data.CreateGroup.id, - name: 'Pre-Existing Group', - }, - }), - ).resolves.toMatchObject({ - data: { - UpdateGroup: { - name: 'Pre-Existing Group', - slug: 'pre-existing-group-1', - about: 'Some about', - description: 'Some description' + descriptionAdditional100, - groupType: 'closed', - actionRadius: 'national', - myRole: 'owner', - }, - }, - errors: undefined, - }) - }) - }) - describe('setting slug explicitly', () => { it('rejects UpdateGroup', async (done) => { try { diff --git a/backend/src/schema/resolvers/groups.spec.js b/backend/src/schema/resolvers/groups.spec.js index d707440a4..3be8c0f90 100644 --- a/backend/src/schema/resolvers/groups.spec.js +++ b/backend/src/schema/resolvers/groups.spec.js @@ -2714,7 +2714,7 @@ describe('in mode', () => { UpdateGroup: { id: 'my-group', name: 'The New Group For Our Country', - slug: 'the-new-group-for-our-country', // changing the slug is tested in the slugifyMiddleware + slug: 'the-best-group', // changing the slug is tested in the slugifyMiddleware about: 'We will change the land!', description: 'Some country relevant description' + descriptionAdditional100, descriptionExcerpt: diff --git a/webapp/components/Group/GroupForm.vue b/webapp/components/Group/GroupForm.vue index 6604a56d5..7b0f7840c 100644 --- a/webapp/components/Group/GroupForm.vue +++ b/webapp/components/Group/GroupForm.vue @@ -333,10 +333,10 @@ export default { this.$refs.groupForm.update('description', value) }, submit() { - const { name, about, description, groupType, actionRadius, /* locationName, */ categoryIds } = - this.formData + const { name, slug, about, description, groupType, actionRadius, categoryIds } = this.formData const variables = { name, + slug, about, description, groupType,