View | Details | Raw Unified | Return to bug 28932
Collapse All | Expand All

(-)a/t/db_dependent/Illrequests.t (-2 / +120 lines)
Lines 190-196 subtest 'Working with related objects' => sub { Link Here
190
190
191
subtest 'Status Graph tests' => sub {
191
subtest 'Status Graph tests' => sub {
192
192
193
    plan tests => 5;
193
    plan tests => 6;
194
194
195
    $schema->storage->txn_begin;
195
    $schema->storage->txn_begin;
196
196
Lines 368-373 subtest 'Status Graph tests' => sub { Link Here
368
        "new node + core_status_graph = bigger status graph"
368
        "new node + core_status_graph = bigger status graph"
369
    ) || diag explain $new_graph;
369
    ) || diag explain $new_graph;
370
370
371
    # Create a duplicate node
372
    my $dupe_node = {
373
        REQ => {
374
            prev_actions   => [ 'NEW', 'REQREV', 'QUEUED', 'CANCREQ' ],
375
            id             => 'REQ',
376
            name           => 'Requested',
377
            ui_method_name => 'Confirm request dupe',
378
            method         => 'confirm',
379
            next_actions   => [ 'REQREV', 'COMP', 'CHK' ],
380
            ui_method_icon => 'fa-check',
381
        }
382
    };
383
    # Add the dupe node to the core_status_grpah
384
    my $dupe_graph = $illrq_obj->_status_graph_union( $illrq_obj->_core_status_graph, $dupe_node);
385
    # Compare the updated graph to the expected graph
386
    # The structure we compare against here is just a copy of the structure found
387
    # in Koha::Illrequest::_core_status_graph() + the new node we created above
388
    cmp_deeply( $dupe_graph,
389
        {
390
        NEW => {
391
            prev_actions => [ ],                           # Actions containing buttons
392
                                                           # leading to this status
393
            id             => 'NEW',                       # ID of this status
394
            name           => 'New request',               # UI name of this status
395
            ui_method_name => 'New request',               # UI name of method leading
396
                                                           # to this status
397
            method         => 'create',                    # method to this status
398
            next_actions   => [ 'REQ', 'GENREQ', 'KILL' ], # buttons to add to all
399
                                                           # requests with this status
400
            ui_method_icon => 'fa-plus',                   # UI Style class
401
        },
402
        REQ => {
403
            prev_actions   => [ 'NEW', 'REQREV', 'QUEUED', 'CANCREQ' ],
404
            id             => 'REQ',
405
            name           => 'Requested',
406
            ui_method_name => 'Confirm request dupe',
407
            method         => 'confirm',
408
            next_actions   => [ 'REQREV', 'COMP', 'CHK' ],
409
            ui_method_icon => 'fa-check',
410
        },
411
        GENREQ => {
412
            prev_actions   => [ 'NEW', 'REQREV' ],
413
            id             => 'GENREQ',
414
            name           => 'Requested from partners',
415
            ui_method_name => 'Place request with partners',
416
            method         => 'generic_confirm',
417
            next_actions   => [ 'COMP', 'CHK' ],
418
            ui_method_icon => 'fa-send-o',
419
        },
420
        REQREV => {
421
            prev_actions   => [ 'REQ' ],
422
            id             => 'REQREV',
423
            name           => 'Request reverted',
424
            ui_method_name => 'Revert Request',
425
            method         => 'cancel',
426
            next_actions   => [ 'REQ', 'GENREQ', 'KILL' ],
427
            ui_method_icon => 'fa-times',
428
        },
429
        QUEUED => {
430
            prev_actions   => [ ],
431
            id             => 'QUEUED',
432
            name           => 'Queued request',
433
            ui_method_name => 0,
434
            method         => 0,
435
            next_actions   => [ 'REQ', 'KILL' ],
436
            ui_method_icon => 0,
437
        },
438
        CANCREQ => {
439
            prev_actions   => [ 'NEW' ],
440
            id             => 'CANCREQ',
441
            name           => 'Cancellation requested',
442
            ui_method_name => 0,
443
            method         => 0,
444
            next_actions   => [ 'KILL', 'REQ' ],
445
            ui_method_icon => 0,
446
        },
447
        COMP => {
448
            prev_actions   => [ 'REQ' ],
449
            id             => 'COMP',
450
            name           => 'Completed',
451
            ui_method_name => 'Mark completed',
452
            method         => 'mark_completed',
453
            next_actions   => [ 'CHK' ],
454
            ui_method_icon => 'fa-check',
455
        },
456
        KILL => {
457
            prev_actions   => [ 'QUEUED', 'REQREV', 'NEW', 'CANCREQ' ],
458
            id             => 'KILL',
459
            name           => 0,
460
            ui_method_name => 'Delete request',
461
            method         => 'delete',
462
            next_actions   => [ ],
463
            ui_method_icon => 'fa-trash',
464
        },
465
        CHK => {
466
            prev_actions   => [ 'REQ', 'GENREQ', 'COMP' ],
467
            id             => 'CHK',
468
            name           => 'Checked out',
469
            ui_method_name => 'Check out',
470
            needs_prefs    => [ 'CirculateILL' ],
471
            needs_perms    => [ 'user_circulate_circulate_remaining_permissions' ],
472
            needs_all      => ignore(),
473
            method         => 'check_out',
474
            next_actions   => [ ],
475
            ui_method_icon => 'fa-upload',
476
        },
477
        RET => {
478
            prev_actions   => [ 'CHK' ],
479
            id             => 'RET',
480
            name           => 'Returned to library',
481
            ui_method_name => 'Check in',
482
            method         => 'check_in',
483
            next_actions   => [ 'COMP' ],
484
            ui_method_icon => 'fa-download',
485
        }
486
    },
487
        "new node + core_status_graph = bigger status graph"
488
    ) || diag explain $dupe_graph;
489
371
    $schema->storage->txn_rollback;
490
    $schema->storage->txn_rollback;
372
};
491
};
373
492
374
- 

Return to bug 28932