mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
message query is not working as expected
This commit is contained in:
parent
d2beca22c9
commit
610d538ca9
@ -36,6 +36,8 @@ afterAll(async () => {
|
|||||||
|
|
||||||
|
|
||||||
describe('Message', () => {
|
describe('Message', () => {
|
||||||
|
let roomId: string
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
;[chattingUser, otherChattingUser, notChattingUser] = await Promise.all([
|
;[chattingUser, otherChattingUser, notChattingUser] = await Promise.all([
|
||||||
Factory.build(
|
Factory.build(
|
||||||
@ -88,6 +90,120 @@ describe('Message', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('room exists', () => {
|
||||||
|
beforeAll(async () => {
|
||||||
|
const room = await mutate({
|
||||||
|
mutation: createRoomMutation(),
|
||||||
|
variables: {
|
||||||
|
userId: 'other-chatting-user',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
roomId = room.data.CreateRoom.id
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('user chats in room', () => {
|
||||||
|
it('returns the message', async () => {
|
||||||
|
await expect(mutate({
|
||||||
|
mutation: createMessageMutation(),
|
||||||
|
variables: {
|
||||||
|
roomId,
|
||||||
|
content: 'Some nice message to other chatting user',
|
||||||
|
} })).resolves.toMatchObject({
|
||||||
|
errors: undefined,
|
||||||
|
data: {
|
||||||
|
CreateMessage: {
|
||||||
|
id: expect.any(String),
|
||||||
|
content: 'Some nice message to other chatting user',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('user does not chat in room', () => {
|
||||||
|
beforeAll(async () => {
|
||||||
|
authenticatedUser = await notChattingUser.toJson()
|
||||||
|
})
|
||||||
|
|
||||||
|
it('returns null', async () => {
|
||||||
|
await expect(mutate({
|
||||||
|
mutation: createMessageMutation(),
|
||||||
|
variables: {
|
||||||
|
roomId,
|
||||||
|
content: 'I have no access to this room!',
|
||||||
|
} })).resolves.toMatchObject({
|
||||||
|
errors: undefined,
|
||||||
|
data: {
|
||||||
|
CreateMessage: null,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('message query', () => {
|
||||||
|
describe('unauthenticated', () => {
|
||||||
|
beforeAll(() => {
|
||||||
|
authenticatedUser = null
|
||||||
|
})
|
||||||
|
|
||||||
|
it('throws authorization error', async () => {
|
||||||
|
await expect(query({
|
||||||
|
query: messageQuery(),
|
||||||
|
variables: {
|
||||||
|
roomId: 'some-id' }
|
||||||
|
})).resolves.toMatchObject({
|
||||||
|
errors: [{ message: 'Not Authorized!' }],
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('authenticated', () => {
|
||||||
|
beforeAll(async () => {
|
||||||
|
authenticatedUser = await otherChattingUser.toJson()
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('room does not exists', () => {
|
||||||
|
it('returns null', async () => {
|
||||||
|
await expect(query({
|
||||||
|
query: messageQuery(),
|
||||||
|
variables: {
|
||||||
|
roomId: 'some-id'
|
||||||
|
},
|
||||||
|
})).resolves.toMatchObject({
|
||||||
|
errors: undefined,
|
||||||
|
data: {
|
||||||
|
Message: [],
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('room exists with authenticated user chatting', () => {
|
||||||
|
it('returns null', async () => {
|
||||||
|
console.log(roomId)
|
||||||
|
await expect(query({
|
||||||
|
query: messageQuery(),
|
||||||
|
variables: {
|
||||||
|
roomId,
|
||||||
|
},
|
||||||
|
})).resolves.toMatchObject({
|
||||||
|
errors: undefined,
|
||||||
|
data: {
|
||||||
|
Message: [{
|
||||||
|
id: expect.any(String),
|
||||||
|
content: 'Some nice message to other chatting user',
|
||||||
|
author: {
|
||||||
|
id: 'chatting-user',
|
||||||
|
},
|
||||||
|
}],
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@ -1,15 +1,22 @@
|
|||||||
import { v4 as uuid } from 'uuid'
|
import { v4 as uuid } from 'uuid'
|
||||||
import { neo4jgraphql } from 'neo4j-graphql-js'
|
import { neo4jgraphql } from 'neo4j-graphql-js'
|
||||||
|
import Resolver from './helpers/Resolver'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
Query: {
|
Query: {
|
||||||
Message: async (object, params, context, resolveInfo) => {
|
Message: async (object, params, context, resolveInfo) => {
|
||||||
if (!params.filter) params.filter = {}
|
console.log('message query', params)
|
||||||
|
const { roomId } = params
|
||||||
|
// if (!params.filter) params.filter = {}
|
||||||
|
/*
|
||||||
params.filter.room = {
|
params.filter.room = {
|
||||||
|
id_in: [roomId],
|
||||||
users_some: {
|
users_some: {
|
||||||
id: context.user.id,
|
id: context.user.id,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
console.log(params.filter)
|
||||||
return neo4jgraphql(object, params, context, resolveInfo)
|
return neo4jgraphql(object, params, context, resolveInfo)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -47,4 +54,12 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Message: {
|
||||||
|
...Resolver('Message', {
|
||||||
|
hasOne: {
|
||||||
|
author: '<-[:CREATED]-(related:User)',
|
||||||
|
room: '-[:INSIDE]->(related:Room)',
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
input _RoomFilter {
|
input _RoomFilter {
|
||||||
AND: [_RoomFilter!]
|
AND: [_RoomFilter!]
|
||||||
OR: [_RoomFilter!]
|
OR: [_RoomFilter!]
|
||||||
|
id: ID
|
||||||
|
id_in: [ID!]
|
||||||
users_some: _UserFilter
|
users_some: _UserFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user