Add more slugification tests for 'CreateGroup' and 'UpdateGroup'

This commit is contained in:
Wolfgang Huß 2022-09-02 08:11:40 +02:00
parent 7ec6086915
commit 999bbd85c1

View File

@ -209,8 +209,34 @@ describe('slugifyMiddleware', () => {
describe('if group exists', () => { describe('if group exists', () => {
describe('if new slug not(!) 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',
},
},
})
})
})
describe('setting slug explicitly', () => {
it('has the new slug', async () => { it('has the new slug', async () => {
// Wolle: console.log('createGroupResult: ', createGroupResult)
await expect( await expect(
mutate({ mutate({
mutation: updateGroupMutation, mutation: updateGroupMutation,
@ -234,9 +260,10 @@ describe('slugifyMiddleware', () => {
}) })
}) })
}) })
})
describe('if new slug exists in another group', () => { describe('if new slug exists in another group', () => {
it('rejects UpdateGroup', async (done) => { beforeEach(async () => {
await mutate({ await mutate({
mutation: createGroupMutation, mutation: createGroupMutation,
variables: { variables: {
@ -249,6 +276,36 @@ describe('slugifyMiddleware', () => {
categoryIds, categoryIds,
}, },
}) })
})
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',
},
},
})
})
})
describe('setting slug explicitly', () => {
it('rejects UpdateGroup', async (done) => {
try { try {
await expect( await expect(
mutate({ mutate({
@ -286,6 +343,7 @@ describe('slugifyMiddleware', () => {
}) })
}) })
}) })
})
describe('CreatePost', () => { describe('CreatePost', () => {
beforeEach(() => { beforeEach(() => {