1717 * limitations under the License.
1818 */
1919import { ConnectionProvider , Session , Connection } from '../src'
20+ import { bookmarks } from '../src/internal'
2021import { ACCESS_MODE_READ , FETCH_ALL } from '../src/internal/constants'
2122import FakeConnection from './utils/connection.fake'
2223
@@ -202,9 +203,39 @@ describe('session', () => {
202203 done ( )
203204 } )
204205 } , 70000 )
206+
207+ describe ( '.lastBookmark()' , ( ) => {
208+ it . each ( [
209+ [ bookmarks . Bookmarks . empty ( ) ] ,
210+ [ new bookmarks . Bookmarks ( 'bookmark1' ) ] ,
211+ [ new bookmarks . Bookmarks ( [ 'bookmark1' , 'bookmark2' ] ) ]
212+ ] ) ( 'should return the bookmark informed in the object creation' , ( bookmarks ) => {
213+ const session = newSessionWithConnection ( newFakeConnection ( ) , false , 1000 , bookmarks )
214+
215+ expect ( session . lastBookmark ( ) ) . toEqual ( bookmarks . values ( ) )
216+ } )
217+ } )
218+
219+ describe ( '.lastBookmark()' , ( ) => {
220+ it . each ( [
221+ [ bookmarks . Bookmarks . empty ( ) ] ,
222+ [ new bookmarks . Bookmarks ( 'bookmark1' ) ] ,
223+ [ new bookmarks . Bookmarks ( [ 'bookmark1' , 'bookmark2' ] ) ]
224+ ] ) ( 'should return the bookmark informed in the object creation' , ( bookmarks ) => {
225+ const session = newSessionWithConnection ( newFakeConnection ( ) , false , 1000 , bookmarks )
226+
227+ expect ( session . lastBookmarks ( ) ) . toEqual ( bookmarks . values ( ) )
228+ } )
229+ } )
205230} )
206231
207- function newSessionWithConnection ( connection : Connection , beginTx : boolean = true , fetchSize : number = 1000 ) : Session {
232+ function newSessionWithConnection (
233+ connection : Connection ,
234+ beginTx : boolean = true ,
235+ fetchSize : number = 1000 ,
236+ lastBookmarks : bookmarks . Bookmarks = bookmarks . Bookmarks . empty ( )
237+ ) : Session {
238+
208239 const connectionProvider = new ConnectionProvider ( )
209240 connectionProvider . acquireConnection = ( ) => Promise . resolve ( connection )
210241 connectionProvider . close = ( ) => Promise . resolve ( )
@@ -215,7 +246,8 @@ function newSessionWithConnection(connection: Connection, beginTx: boolean = tru
215246 database : "" ,
216247 fetchSize,
217248 config : { } ,
218- reactive : false
249+ reactive : false ,
250+ bookmarks : lastBookmarks
219251 } )
220252
221253 if ( beginTx ) {
0 commit comments