diff --git a/modules/core/graph/resolvers/streams.js b/modules/core/graph/resolvers/streams.js index 6a44f2d21..adf71d0fb 100644 --- a/modules/core/graph/resolvers/streams.js +++ b/modules/core/graph/resolvers/streams.js @@ -38,8 +38,8 @@ module.exports = { let totalCount = await getUserStreamsCount( { userId: parent.id } ) let { cursor, streams } = await getUserStreams( { userId: parent.id, limit: args.limit, cursor: args.cursor, publicOnly: publicOnly } ) - - return { totalCount, cursor: cursor, streams: streams } + console.log( cursor ) + return { totalCount, cursor: cursor, items: streams } } }, Mutation: { diff --git a/modules/core/graph/schemas/streams.graphql b/modules/core/graph/schemas/streams.graphql index a4c61f373..7c9c7c7b1 100644 --- a/modules/core/graph/schemas/streams.graphql +++ b/modules/core/graph/schemas/streams.graphql @@ -26,7 +26,7 @@ extend type User { type StreamCollectionUser { totalCount: Int! cursor: String - streams: [ Stream ] + items: [ Stream ] } extend type Mutation { diff --git a/modules/core/services/streams.js b/modules/core/services/streams.js index 91bb101f1..5d85c360c 100644 --- a/modules/core/services/streams.js +++ b/modules/core/services/streams.js @@ -110,7 +110,7 @@ module.exports = { query.orderBy( 'streams.updatedAt', 'desc' ).limit( limit ) let rows = await query - return { streams: rows, cursor: rows.length > 0 ? rows[ rows.length - 1 ].updatedAt : null } + return { streams: rows, cursor: rows.length > 0 ? rows[ rows.length - 1 ].updatedAt.toISOString() : null } }, async getUserStreamsCount( { userId } ) { diff --git a/modules/core/tests/graph.spec.js b/modules/core/tests/graph.spec.js index c2ad6bfb6..4df5d7e59 100644 --- a/modules/core/tests/graph.spec.js +++ b/modules/core/tests/graph.spec.js @@ -413,14 +413,39 @@ describe( 'GraphQL API Core', ( ) => { it( 'Should retrieve my streams', async ( ) => { - const res = await sendRequest( userA.token, { query: `{ user { streams { totalCount streams { id name } } } }` } ) - // console.log( res.body.errors[0].locations ) - console.log( res.body.data ) + + // add more streams + await sendRequest( + userA.token, { + query: `mutation( $myStream: StreamCreateInput! ) { streamCreate( stream: $myStream ) }`, + variables: { myStream: { name: 'o hai' } } + } ) + + await sendRequest( + userA.token, { + query: `mutation( $myStream: StreamCreateInput! ) { streamCreate( stream: $myStream ) }`, + variables: { myStream: { name: 'bai now' } } + } ) + + await sendRequest( + userA.token, { + query: `mutation( $myStream: StreamCreateInput! ) { streamCreate( stream: $myStream ) }`, + variables: { myStream: { name: 'one more for the road' } } + } ) + + const res = await sendRequest( userA.token, { query: `{ user { streams( limit: 3 ) { totalCount cursor items { id name } } } }` } ) expect( res ).to.be.json expect( res.body.errors ).to.not.exist - expect( res.body.data.user.streams.totalCount ).to.equal( 3 ) + expect( res.body.data.user.streams.items.length ).to.equal( 3 ) - let streams = res.body.data.user.streams.streams + console.log( res.body.data.user.streams.cursor ) + + const res2 = await sendRequest( userA.token, { query: `{ user { streams( limit: 3, cursor: "${res.body.data.user.streams.cursor}" ) { totalCount cursor items { id name } } } }` } ) + + console.log( res2.body.errors ) + console.log( res2.body.data ) + + let streams = res2.body.data.user.streams.items let s1 = streams.find( s => s.name === 'TS1 (u A) Private UPDATED' ) expect( s1 ).to.exist } )