@@ -288,4 +288,119 @@ describe('218. aq2.js', function() {
288288 should . not . exist ( err ) ;
289289 }
290290 } ) ; // 218.7
291+
292+ const addrArray = [
293+ {
294+ NAME : "John" ,
295+ ADDRESS : "100 Oracle Parkway Redwood City, CA US 94065"
296+ } ,
297+ {
298+ NAME : "Jenny" ,
299+ ADDRESS : "200 Oracle Parkway Redwood City, CA US 94065"
300+ } ,
301+ {
302+ NAME : "Laura" ,
303+ ADDRESS : "300 Oracle Parkway Redwood City, CA US 94065"
304+ } ,
305+ {
306+ NAME : "Lawrance" ,
307+ ADDRESS : "400 Oracle Parkway Redwood City, CA US 94065"
308+ }
309+ ] ;
310+
311+ it ( '218.8 enqMany() with DB object array' , async ( ) => {
312+
313+ try {
314+ // Enqueue
315+ const queue1 = await conn . getQueue (
316+ objQueueName ,
317+ { payloadType : objType }
318+ ) ;
319+ let msgArray = [ ] ;
320+ for ( let i = 0 ; i < addrArray . length ; i ++ ) {
321+ msgArray [ i ] = new queue1 . payloadTypeClass ( addrArray [ i ] ) ;
322+ }
323+ await queue1 . enqMany ( msgArray ) ;
324+
325+ // Dequeue
326+ const queue2 = await conn . getQueue (
327+ objQueueName ,
328+ { payloadType : objType }
329+ ) ;
330+ const messages = await queue2 . deqMany ( 5 ) ; // get at most 5 messages
331+ if ( messages ) {
332+ should . strictEqual ( addrArray . length , messages . length ) ;
333+ should . strictEqual ( addrArray [ 0 ] . NAME , messages [ 0 ] . payload . NAME ) ;
334+ should . strictEqual ( addrArray [ 0 ] . ADDRESS , messages [ 0 ] . payload . ADDRESS ) ;
335+ should . strictEqual ( addrArray [ 3 ] . NAME , messages [ 3 ] . payload . NAME ) ;
336+ should . strictEqual ( addrArray [ 3 ] . ADDRESS , messages [ 3 ] . payload . ADDRESS ) ;
337+ }
338+ } catch ( err ) {
339+ should . not . exist ( err ) ;
340+ }
341+ } ) ; // 218.8
342+
343+ it ( '218.9 enqMany() with DB object array as payload' , async ( ) => {
344+ try {
345+ // Enqueue
346+ const queue1 = await conn . getQueue (
347+ objQueueName ,
348+ { payloadType : objType }
349+ ) ;
350+ let msgArray = [ ] ;
351+ for ( let i = 0 ; i < addrArray . length ; i ++ ) {
352+ let msg = new queue1 . payloadTypeClass ( addrArray [ i ] ) ;
353+ msgArray [ i ] = { payload : msg } ;
354+ }
355+ await queue1 . enqMany ( msgArray ) ;
356+
357+ // Dequeue
358+ const queue2 = await conn . getQueue (
359+ objQueueName ,
360+ { payloadType : objType }
361+ ) ;
362+ const messages = await queue2 . deqMany ( 5 ) ; // get at most 5 messages
363+ if ( messages ) {
364+ should . strictEqual ( addrArray . length , messages . length ) ;
365+ should . strictEqual ( addrArray [ 0 ] . NAME , messages [ 0 ] . payload . NAME ) ;
366+ should . strictEqual ( addrArray [ 0 ] . ADDRESS , messages [ 0 ] . payload . ADDRESS ) ;
367+ should . strictEqual ( addrArray [ 3 ] . NAME , messages [ 3 ] . payload . NAME ) ;
368+ should . strictEqual ( addrArray [ 3 ] . ADDRESS , messages [ 3 ] . payload . ADDRESS ) ;
369+ }
370+ } catch ( err ) {
371+ should . not . exist ( err ) ;
372+ }
373+ } ) ; //218.9
374+
375+ it ( '218.10 enqMany() with JavaScript objects as payload' , async ( ) => {
376+ try {
377+ // Enqueue
378+ const queue1 = await conn . getQueue (
379+ objQueueName ,
380+ { payloadType : objType }
381+ ) ;
382+ let msgArray = [ ] ;
383+ for ( let i = 0 ; i < addrArray . length ; i ++ ) {
384+ let msg = addrArray [ i ] ;
385+ msgArray [ i ] = { payload : msg } ;
386+ }
387+ await queue1 . enqMany ( msgArray ) ;
388+
389+ // Dequeue
390+ const queue2 = await conn . getQueue (
391+ objQueueName ,
392+ { payloadType : objType }
393+ ) ;
394+ const messages = await queue2 . deqMany ( 5 ) ; // get at most 5 messages
395+ if ( messages ) {
396+ should . strictEqual ( addrArray . length , messages . length ) ;
397+ should . strictEqual ( addrArray [ 0 ] . NAME , messages [ 0 ] . payload . NAME ) ;
398+ should . strictEqual ( addrArray [ 0 ] . ADDRESS , messages [ 0 ] . payload . ADDRESS ) ;
399+ should . strictEqual ( addrArray [ 3 ] . NAME , messages [ 3 ] . payload . NAME ) ;
400+ should . strictEqual ( addrArray [ 3 ] . ADDRESS , messages [ 3 ] . payload . ADDRESS ) ;
401+ }
402+ } catch ( err ) {
403+ should . not . exist ( err ) ;
404+ }
405+ } ) ; // 218.10
291406} ) ;
0 commit comments