fix(cursor): fixing date-only cursors casting (.toISOString()) in getUserStreams

This commit is contained in:
Dimitrie Stefanescu
2020-07-20 18:08:12 +01:00
parent 6fd72ad0fa
commit a1b1663309
4 changed files with 34 additions and 9 deletions
+2 -2
View File
@@ -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: {
+1 -1
View File
@@ -26,7 +26,7 @@ extend type User {
type StreamCollectionUser {
totalCount: Int!
cursor: String
streams: [ Stream ]
items: [ Stream ]
}
extend type Mutation {
+1 -1
View File
@@ -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 } ) {
+30 -5
View File
@@ -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
} )