Produced by Araxis Merge on 10/3/2017 11:16:03 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | ehmp.zip\ehmp\ehmp\product\production\vx-sync\tests\unittests\handlers\osync\admissions | admissions-spec.js | Fri Jul 28 14:07:44 2017 UTC |
| 2 | ehmp.zip\ehmp\ehmp\product\production\vx-sync\tests\unittests\handlers\osync\admissions | admissions-spec.js | Tue Oct 3 13:18:23 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 3 | 996 |
| Changed | 2 | 16 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | 'use stric t'; | |
| 2 | /* global describe, it, before Each, spyO n, expect, runs, wai tsFor */ | |
| 3 | ||
| 4 | require('. ./../../.. /../env-se tup'); | |
| 5 | var logger = require (global.VX _DUMMIES + 'dummy-lo gger'); | |
| 6 | // NOTE: b e sure nex t lines ar e commente d out befo re pushing | |
| 7 | // var log Util = req uire(globa l.VX_UTILS + 'log'); | |
| 8 | // var log ger = logU til._creat eLogger({ | |
| 9 | // nam e: 'osync- admissions ', | |
| 10 | // lev el: 'debug ', | |
| 11 | // chi ld: logUti l._createL ogger | |
| 12 | // }); | |
| 13 | ||
| 14 | var handle r = requir e(global.V X_HANDLERS + 'osync/ admissions /admission s'); | |
| 15 | var Router = require (global.VX _DUMMIES + 'publishe rRouterDum my'); | |
| 16 | var Publis her = requ ire(global .VX_DUMMIE S + 'publi sherDummy' ); | |
| 17 | var Update r = requir e(global.V X_DUMMIES + 'JobStat usUpdaterD ummy'); | |
| 18 | var VistaC lientDummy = require (global.VX _DUMMIES + 'vista-cl ient-dummy '); | |
| 19 | ||
| 20 | var mockHa ndlerCallb ack = { | |
| 21 | callba ck: functi on(error, response) {} | |
| 22 | }; | |
| 23 | ||
| 24 | describe(' osync-admi ssion-hand ler.js', f unction() { | |
| 25 | descri be('admiss ion.handle ', functio n() { | |
| 26 | // globally used varia bles | |
| 27 | va r job = {} ; | |
| 28 | va r mockConf ig = null; | |
| 29 | va r mockEnvi ronment = null; | |
| 30 | va r mockRPCC onfig = { | |
| 31 | 'name': "panorama" , | |
| 32 | 'host': ' IP ', | |
| 33 | 'port': PORT , | |
| 34 | 'accessCod e': ' REDACTED ', | |
| 35 | 'verifyCod e': ' REDACTED ', | |
| 36 | 'localIP ': '127.0. 0.1', | |
| 37 | 'station Number': 5 00, | |
| 38 | 'localAd dress': 'l ocalhost', | |
| 39 | 'connect Timeout': 3000, | |
| 40 | 'sendTim eout': 200 00 | |
| 41 | }; | |
| 42 | ||
| 43 | be foreEach(f unction() { | |
| 44 | spyOn(mo ckHandlerC allback, ' callback') ; | |
| 45 | }) ; | |
| 46 | ||
| 47 | it ('error co ndition: n o job type passed', function() { | |
| 48 | var done = false; | |
| 49 | ||
| 50 | runs(fun ction() { | |
| 51 | ||
| 52 | ||
| 53 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 54 | expect(err ).toEqual( { | |
| 55 | 'type' : 'fatal-e xception', | |
| 56 | 'messa ge': 'admi ssions.val idate: Cou ld not fin d job type ' | |
| 57 | }); | |
| 58 | done = tru e; | |
| 59 | mockHandle rCallback. callback() ; | |
| 60 | }); | |
| 61 | }); | |
| 62 | ||
| 63 | waitsFor (function( ) { | |
| 64 | retu rn done; | |
| 65 | }, 'Call back not c alled', 10 0); | |
| 66 | ||
| 67 | runs(fun ction() { | |
| 68 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 69 | }); | |
| 70 | }) ; | |
| 71 | ||
| 72 | it ('error co ndition: e mpty strin g for job type passe d', functi on() { | |
| 73 | var done = false; | |
| 74 | ||
| 75 | runs(fun ction() { | |
| 76 | job. type = ''; | |
| 77 | ||
| 78 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 79 | expect(err ).toEqual( { | |
| 80 | 'type' : 'fatal-e xception', | |
| 81 | 'messa ge': 'admi ssions.val idate: Cou ld not fin d job type ' | |
| 82 | }); | |
| 83 | done = tru e; | |
| 84 | mockHandle rCallback. callback() ; | |
| 85 | }); | |
| 86 | }); | |
| 87 | ||
| 88 | waitsFor (function( ) { | |
| 89 | retu rn done; | |
| 90 | }, 'Call back not c alled', 10 0); | |
| 91 | ||
| 92 | runs(fun ction() { | |
| 93 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 94 | }); | |
| 95 | }) ; | |
| 96 | ||
| 97 | it ('error co ndition: w rong job t ype passed ', functio n() { | |
| 98 | var done = false; | |
| 99 | ||
| 100 | runs(fun ction() { | |
| 101 | job. type = 'cd s-xform-vp r'; | |
| 102 | ||
| 103 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 104 | expect(err ).toEqual( { | |
| 105 | 'type' : 'fatal-e xception', | |
| 106 | 'messa ge': 'admi ssions.val idate: job type was not admiss ions' | |
| 107 | }); | |
| 108 | done = tru e; | |
| 109 | mockHandle rCallback. callback() ; | |
| 110 | }); | |
| 111 | }); | |
| 112 | ||
| 113 | waitsFor (function( ) { | |
| 114 | retu rn done; | |
| 115 | }, 'Call back not c alled', 10 0); | |
| 116 | ||
| 117 | runs(fun ction() { | |
| 118 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 119 | }); | |
| 120 | }) ; | |
| 121 | ||
| 122 | it ('error co ndition: n o site pas sed', func tion() { | |
| 123 | var done = false; | |
| 124 | ||
| 125 | runs(fun ction() { | |
| 126 | job. type = 'ad missions'; | |
| 127 | ||
| 128 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 129 | expect(err ).toEqual( { | |
| 130 | 'type' : 'fatal-e xception', | |
| 131 | 'messa ge': 'admi ssions.val idate: Cou ld not fin d job site ' | |
| 132 | }); | |
| 133 | done = tru e; | |
| 134 | mockHandle rCallback. callback() ; | |
| 135 | }); | |
| 136 | }); | |
| 137 | ||
| 138 | waitsFor (function( ) { | |
| 139 | retu rn done; | |
| 140 | }, 'Call back not c alled', 10 0); | |
| 141 | ||
| 142 | runs(fun ction() { | |
| 143 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 144 | }); | |
| 145 | }) ; | |
| 146 | ||
| 147 | it ('error co ndition: e mpty strin g for site passed', function() { | |
| 148 | var done = false; | |
| 149 | ||
| 150 | runs(fun ction() { | |
| 151 | job. type = 'ad missions'; | |
| 152 | job. siteId = ' '; | |
| 153 | ||
| 154 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 155 | expect(err ).toEqual( { | |
| 156 | 'type' : 'fatal-e xception', | |
| 157 | 'messa ge': 'admi ssions.val idate: Cou ld not fin d job site ' | |
| 158 | }); | |
| 159 | done = tru e; | |
| 160 | mockHandle rCallback. callback() ; | |
| 161 | }); | |
| 162 | }); | |
| 163 | ||
| 164 | waitsFor (function( ) { | |
| 165 | retu rn done; | |
| 166 | }, 'Call back not c alled', 10 0); | |
| 167 | ||
| 168 | runs(fun ction() { | |
| 169 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 170 | }); | |
| 171 | }) ; | |
| 172 | ||
| 173 | it ('error co ndition: n ull config uration pa ssed', fun ction() { | |
| 174 | var done = false; | |
| 175 | ||
| 176 | runs(fun ction() { | |
| 177 | job. type = 'ad missions'; | |
| 178 | job. siteId = ' ASDF'; | |
| 179 | ||
| 180 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 181 | expect(err ).toEqual( { | |
| 182 | 'type' : 'fatal-e xception', | |
| 183 | 'messa ge': 'admi ssions.han dle: Inval id configu ration pas sed' | |
| 184 | }); | |
| 185 | done = tru e; | |
| 186 | mockHandle rCallback. callback() ; | |
| 187 | }); | |
| 188 | }); | |
| 189 | ||
| 190 | waitsFor (function( ) { | |
| 191 | retu rn done; | |
| 192 | }, 'Call back not c alled', 10 0); | |
| 193 | ||
| 194 | runs(fun ction() { | |
| 195 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 196 | }); | |
| 197 | }) ; | |
| 198 | ||
| 199 | it ('error co ndition: n ull vistaS ites confi guration p assed', fu nction() { | |
| 200 | var done = false; | |
| 201 | ||
| 202 | runs(fun ction() { | |
| 203 | job. type = 'ad missions'; | |
| 204 | job. siteId = ' ASDF'; | |
| 205 | ||
| 206 | mock Config = { }; | |
| 207 | mock Config.vis taSites = null; | |
| 208 | ||
| 209 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 210 | expect(err ).toEqual( { | |
| 211 | 'type' : 'fatal-e xception', | |
| 212 | 'messa ge': 'admi ssions.han dle: No Vi stA site c onfigurati on found' | |
| 213 | }); | |
| 214 | done = tru e; | |
| 215 | mockHandle rCallback. callback() ; | |
| 216 | }); | |
| 217 | }); | |
| 218 | ||
| 219 | waitsFor (function( ) { | |
| 220 | retu rn done; | |
| 221 | }, 'Call back not c alled', 10 0); | |
| 222 | ||
| 223 | runs(fun ction() { | |
| 224 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 225 | }); | |
| 226 | }) ; | |
| 227 | ||
| 228 | it ('error co ndition: V istA site not found in config' , function () { | |
| 229 | var done = false; | |
| 230 | ||
| 231 | runs(fun ction() { | |
| 232 | job. type = 'ad missions'; | |
| 233 | job. siteId = ' ASDF'; | |
| 234 | ||
| 235 | mock Config = { }; | |
| 236 | mock Config.vis taSites = {}; | |
| 237 | mock Config.vis taSites['9 E7A'] = mo ckRPCConfi g; | |
| 238 | ||
| 239 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 240 | expect(err ).toEqual( { | |
| 241 | 'type' : 'fatal-e xception', | |
| 242 | 'messa ge': 'admi ssions.han dle: No RP C configur ation for site ASDF' | |
| 243 | }); | |
| 244 | done = tru e; | |
| 245 | mockHandle rCallback. callback() ; | |
| 246 | }); | |
| 247 | }); | |
| 248 | ||
| 249 | waitsFor (function( ) { | |
| 250 | retu rn done; | |
| 251 | }, 'Call back not c alled', 10 0); | |
| 252 | ||
| 253 | runs(fun ction() { | |
| 254 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 255 | }); | |
| 256 | }) ; | |
| 257 | ||
| 258 | it ('error co ndition: r pcConfig n ot found i n config', function( ) { | |
| 259 | var done = false; | |
| 260 | ||
| 261 | runs(fun ction() { | |
| 262 | job. type = 'ad missions'; | |
| 263 | job. siteId = ' ASDF'; | |
| 264 | ||
| 265 | mock Config = { }; | |
| 266 | mock Config.vis taSites = {}; | |
| 267 | mock Config.vis taSites['A SDF'] = mo ckRPCConfi g; | |
| 268 | ||
| 269 | hand ler(logger , mockConf ig, mockEn vironment, job, func tion(err) { | |
| 270 | expect(err ).toEqual( { | |
| 271 | 'type' : 'fatal-e xception', | |
| 272 | 'messa ge': 'admi ssions.han dle: No RP C context found in c onfigurati on' | |
| 273 | }); | |
| 274 | done = tru e; | |
| 275 | mockHandle rCallback. callback() ; | |
| 276 | }); | |
| 277 | }); | |
| 278 | ||
| 279 | waitsFor (function( ) { | |
| 280 | retu rn done; | |
| 281 | }, 'Call back not c alled', 10 0); | |
| 282 | ||
| 283 | runs(fun ction() { | |
| 284 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 285 | }); | |
| 286 | }) ; | |
| 287 | }); | |
| 288 | descri be('admiss ion.handle : Happy pa ths', func tion() { | |
| 289 | // globally used varia bles | |
| 290 | va r job = {} ; | |
| 291 | va r mockConf ig = {}; | |
| 292 | mo ckConfig.v istaSites = {}; | |
| 293 | ||
| 294 | va r mockRPCC onfig = { | |
| 295 | 'name': "panorama" , | |
| 296 | 'host': ' IP ', | |
| 297 | 'port': PORT , | |
| 298 | 'accessCod e': ' REDACTED ', | |
| 299 | 'verifyCod e': ' REDACTED ', | |
| 300 | 'localIP ': '127.0. 0.1', | |
| 301 | 'station Number': 5 00, | |
| 302 | 'localAd dress': 'l ocalhost', | |
| 303 | 'connect Timeout': 3000, | |
| 304 | 'sendTim eout': 200 00 | |
| 305 | }; | |
| 306 | ||
| 307 | be foreEach(f unction() { | |
| 308 | spyOn(mo ckHandlerC allback, ' callback') ; | |
| 309 | }) ; | |
| 310 | ||
| 311 | it ('Happy pa th: correc t job sent to handle r (numeric site)', f unction() { | |
| 312 | var done = false; | |
| 313 | ||
| 314 | runs(fun ction() { | |
| 315 | job. type = 'ad missions'; | |
| 316 | job. siteId = ' 1234'; | |
| 317 | ||
| 318 | mock Config.vis taSites['1 234'] = mo ckRPCConfi g; | |
| 319 | mock Config.rpc Context = 'HMP SYNCH RONIZATION CONTEXT'; | |
| 320 | ||
| 321 | var mockPublis her = new Publisher( logger, mo ckConfig, job.type); | |
| 322 | var environmen t = { | |
| 323 | vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null), | |
| 324 | publisherR outer: new Router(lo gger, mock Config, Up dater, moc kPublisher ) | |
| 325 | }; | |
| 326 | ||
| 327 | hand ler(logger , mockConf ig, enviro nment, job , function (err) { | |
| 328 | expect(err ).toBeFals y(); | |
| 329 | done = tru e; | |
| 330 | mockHandle rCallback. callback() ; | |
| 331 | }); | |
| 332 | }); | |
| 333 | ||
| 334 | waitsFor (function( ) { | |
| 335 | retu rn done; | |
| 336 | }, 'Call back not c alled', 10 0); | |
| 337 | ||
| 338 | runs(fun ction() { | |
| 339 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 340 | }); | |
| 341 | }) ; | |
| 342 | ||
| 343 | it ('Happy pa th: correc t job sent to handle r (mixed s ite)', fun ction() { | |
| 344 | var done = false; | |
| 345 | ||
| 346 | runs(fun ction() { | |
| 347 | job. type = 'ad missions'; | |
| 348 | job. siteId = ' 9E7A'; | |
| 349 | ||
| 350 | mock Config.vis taSites['9 E7A'] = mo ckRPCConfi g; | |
| 351 | mock Config.rpc Context = 'HMP SYNCH RONIZATION CONTEXT'; | |
| 352 | ||
| 353 | var mockPublis her = new Publisher( logger, mo ckConfig, job.type); | |
| 354 | var environmen t = { | |
| 355 | vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null), | |
| 356 | publisherR outer: new Router(lo gger, mock Config, Up dater, moc kPublisher ) | |
| 357 | }; | |
| 358 | ||
| 359 | hand ler(logger , mockConf ig, enviro nment, job , function (err) { | |
| 360 | expect(err ).toBeFals y(); | |
| 361 | done = tru e; | |
| 362 | mockHandle rCallback. callback() ; | |
| 363 | }); | |
| 364 | }); | |
| 365 | ||
| 366 | waitsFor (function( ) { | |
| 367 | retu rn done; | |
| 368 | }, 'Call back not c alled', 10 0); | |
| 369 | ||
| 370 | runs(fun ction() { | |
| 371 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 372 | }); | |
| 373 | }) ; | |
| 374 | ||
| 375 | it ('Happy pa th: correc t job sent to handle r (leading zero full y numeric site)', fu nction() { | |
| 376 | var done = false; | |
| 377 | ||
| 378 | runs(fun ction() { | |
| 379 | job. type = 'ad missions'; | |
| 380 | job. siteId = ' 0042'; | |
| 381 | ||
| 382 | mock Config.vis taSites['0 042'] = mo ckRPCConfi g; | |
| 383 | mock Config.rpc Context = 'HMP SYNCH RONIZATION CONTEXT'; | |
| 384 | ||
| 385 | var mockPublis her = new Publisher( logger, mo ckConfig, job.type); | |
| 386 | var environmen t = { | |
| 387 | vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null), | |
| 388 | publisherR outer: new Router(lo gger, mock Config, Up dater, moc kPublisher ) | |
| 389 | }; | |
| 390 | ||
| 391 | hand ler(logger , mockConf ig, enviro nment, job , function (err) { | |
| 392 | expect(err ).toBeFals y(); | |
| 393 | done = tru e; | |
| 394 | mockHandle rCallback. callback() ; | |
| 395 | }); | |
| 396 | }); | |
| 397 | ||
| 398 | waitsFor (function( ) { | |
| 399 | retu rn done; | |
| 400 | }, 'Call back not c alled', 10 0); | |
| 401 | ||
| 402 | runs(fun ction() { | |
| 403 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 404 | }); | |
| 405 | }) ; | |
| 406 | ||
| 407 | it ('Happy pa th: correc t job sent to handle r (leading zero mixe d site)', function() { | |
| 408 | var done = false; | |
| 409 | ||
| 410 | runs(fun ction() { | |
| 411 | job. type = 'ad missions'; | |
| 412 | job. siteId = ' 0AF2'; | |
| 413 | ||
| 414 | mock Config.vis taSites['0 AF2'] = mo ckRPCConfi g; | |
| 415 | mock Config.rpc Context = 'HMP SYNCH RONIZATION CONTEXT'; | |
| 416 | ||
| 417 | var mockPublis her = new Publisher( logger, mo ckConfig, job.type); | |
| 418 | var environmen t = { | |
| 419 | vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null), | |
| 420 | publisherR outer: new Router(lo gger, mock Config, Up dater, moc kPublisher ) | |
| 421 | }; | |
| 422 | ||
| 423 | hand ler(logger , mockConf ig, enviro nment, job , function (err) { | |
| 424 | expect(err ).toBeFals y(); | |
| 425 | done = tru e; | |
| 426 | mockHandle rCallback. callback() ; | |
| 427 | }); | |
| 428 | }); | |
| 429 | ||
| 430 | waitsFor (function( ) { | |
| 431 | retu rn done; | |
| 432 | }, 'Call back not c alled', 10 0); | |
| 433 | ||
| 434 | runs(fun ction() { | |
| 435 | expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( ); | |
| 436 | }); | |
| 437 | }) ; | |
| 438 | ||
| 439 | it ('Happy pa th: correc t jobs gen erated', f unction(do ne) { | |
| 440 | var resu ltJobs = [ ]; | |
| 441 | ||
| 442 | runs(fun ction() { | |
| 443 | job. type = 'ad missions'; | |
| 444 | job. siteId = ' 1234'; | |
| 445 | job. referenceI nfo = { | |
| 446 | requestId: 'admissio ns-request Id', | |
| 447 | sessionId: 'admissio ns-session Id' | |
| 448 | }; | |
| 449 | ||
| 450 | mock Config.vis taSites['1 234'] = mo ckRPCConfi g; | |
| 451 | mock Config.rpc Context = 'HMP SYNCH RONIZATION CONTEXT'; | |
| 452 | ||
| 453 | var mockPublis her = new Publisher( logger, mo ckConfig, job.type); | |
| 454 | var environmen t = { | |
| 455 | vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null), | |
| 456 | publisherR outer: new Router(lo gger, mock Config, Up dater, moc kPublisher ) | |
| 457 | }; | |
| 458 | ||
| 459 | var vistaStr = '12345^20 1701311200 00^TEST^12 ^123^\r\n5 4321^20170 131120000^ TEST2^21^3 21^\r\n'; | |
| 460 | envi ronment.vi staClient. _setFetchR esponseDat a(null, vi staStr); | |
| 461 | ||
| 462 | spyO n(environm ent.publis herRouter, 'publish' ).andCallF ake(functi on(job, ca llback) { | |
| 463 | resultJobs .push(job) ; | |
| 464 | callback() ; | |
| 465 | }); | |
| 466 | ||
| 467 | hand ler(logger , mockConf ig, enviro nment, job , function (err) { | |
| 468 | expect(err ).toBeFals y(); | |
| 469 | expect(res ultJobs).t oContain(j asmine.obj ectContain ing({ | |
| 470 | type: 'sync', | |
| 471 | refere nceInfo: { | |
| 472 | re questId: ' admissions -requestId ', | |
| 473 | se ssionId: ' admissions -sessionId ' | |
| 474 | }, | |
| 475 | source : 'admissi ons', | |
| 476 | patien t: { | |
| 477 | df n: '12345' , | |
| 478 | da te: '20170 131120000' , | |
| 479 | lo cationName : 'TEST', | |
| 480 | ro omBed: '12 ', | |
| 481 | lo cationIen: '123' | |
| 482 | }, | |
| 483 | siteId : '1234' | |
| 484 | })); | |
| 485 | expect(res ultJobs).t oContain(j asmine.obj ectContain ing({ | |
| 486 | type: 'sync', | |
| 487 | refere nceInfo: { | |
| 488 | re questId: ' admissions -requestId ', | |
| 489 | se ssionId: ' admissions -sessionId ' | |
| 490 | }, | |
| 491 | source : 'admissi ons', | |
| 492 | patien t: { | |
| 493 | df n: '54321' , | |
| 494 | da te: '20170 131120000' , | |
| 495 | lo cationName : 'TEST2', | |
| 496 | ro omBed: '21 ', | |
| 497 | lo cationIen: '321' | |
| 498 | }, | |
| 499 | siteId : '1234' | |
| 500 | })); | |
| 501 | done(); | |
| 502 | }); | |
| 503 | }); | |
| 504 | }) ; | |
| 505 | }); | |
| 506 | }); |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.