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

(-)a/installer/data/mysql/atomicupdate/bug_14697.perl (-1 / +2 lines)
Lines 17-23 if( CheckVersion( $DBversion ) ) { Link Here
17
                resolved_by int(11) NULL DEFAULT NULL,
17
                resolved_by int(11) NULL DEFAULT NULL,
18
                PRIMARY KEY (`id`),
18
                PRIMARY KEY (`id`),
19
                KEY `itemnumber` (`itemnumber`),
19
                KEY `itemnumber` (`itemnumber`),
20
                UNIQUE( issue_id ),
20
                CONSTRAINT UNIQUE `issue_id` ( issue_id ),
21
                CONSTRAINT `issue_id` FOREIGN KEY (`issue_id`) REFERENCES `issues` (`issue_id`) ON DELETE SET NULL ON UPDATE CASCADE,
21
                CONSTRAINT `rc_items_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
22
                CONSTRAINT `rc_items_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
22
                CONSTRAINT `rc_borrowers_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
23
                CONSTRAINT `rc_borrowers_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
23
                CONSTRAINT `rc_created_by_ibfk` FOREIGN KEY (`created_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
24
                CONSTRAINT `rc_created_by_ibfk` FOREIGN KEY (`created_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
(-)a/installer/data/mysql/kohastructure.sql (-1 / +2 lines)
Lines 4439-4445 CREATE TABLE return_claims ( Link Here
4439
    resolved_by int(11) NULL DEFAULT NULL,
4439
    resolved_by int(11) NULL DEFAULT NULL,
4440
    PRIMARY KEY (`id`),
4440
    PRIMARY KEY (`id`),
4441
    KEY `itemnumber` (`itemnumber`),
4441
    KEY `itemnumber` (`itemnumber`),
4442
    UNIQUE( issue_id ),
4442
    CONSTRAINT UNIQUE `issue_id` ( issue_id ),
4443
    CONSTRAINT `issue_id` FOREIGN KEY (`issue_id`) REFERENCES `issues` (`issue_id`) ON DELETE SET NULL ON UPDATE CASCADE,
4443
    CONSTRAINT `rc_items_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4444
    CONSTRAINT `rc_items_ibfk` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4444
    CONSTRAINT `rc_borrowers_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4445
    CONSTRAINT `rc_borrowers_ibfk` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE,
4445
    CONSTRAINT `rc_created_by_ibfk` FOREIGN KEY (`created_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
4446
    CONSTRAINT `rc_created_by_ibfk` FOREIGN KEY (`created_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE,
(-)a/t/db_dependent/Koha/Checkouts/ReturnClaim.t (-6 / +33 lines)
Lines 30-36 my $builder = t::lib::TestBuilder->new; Link Here
30
30
31
subtest "store() tests" => sub {
31
subtest "store() tests" => sub {
32
32
33
    plan tests => 6;
33
    plan tests => 8;
34
34
35
    $schema->storage->txn_begin;
35
    $schema->storage->txn_begin;
36
36
Lines 82-88 subtest "store() tests" => sub { Link Here
82
        throws_ok {
82
        throws_ok {
83
            Koha::Checkouts::ReturnClaim->new(
83
            Koha::Checkouts::ReturnClaim->new(
84
                {
84
                {
85
                    issue_id       => $checkout->id + 1000,
85
                    issue_id       => $checkout->id,
86
                    itemnumber     => $checkout->itemnumber,
86
                    itemnumber     => $checkout->itemnumber,
87
                    borrowernumber => $checkout->borrowernumber,
87
                    borrowernumber => $checkout->borrowernumber,
88
                    notes          => 'Some notes',
88
                    notes          => 'Some notes',
Lines 90-105 subtest "store() tests" => sub { Link Here
90
                }
90
                }
91
            )->store;
91
            )->store;
92
        }
92
        }
93
        'Koha::Exceptions::Object::FKConstraint',
93
        'Koha::Exceptions::Object::DuplicateID',
94
            'An exception is thrown on invalid issue_id';
94
            'An exception is thrown on duplicate issue_id';
95
        close STDERR;
95
        close STDERR;
96
96
97
        is(
97
        is(
98
            $@->broken_fk,
98
            $@->duplicate_id,
99
            'issue_id',
99
            'issue_id',
100
            'Exception field is correct'
100
            'Exception field is correct'
101
        );
101
        );
102
    }
102
    }
103
103
104
    {    # hide useless warnings
105
        local *STDERR;
106
        open STDERR, '>', '/dev/null';
107
108
        my $another_checkout = $builder->build_object({ class => 'Koha::Checkouts' });
109
        my $checkout_id = $another_checkout->id;
110
        $another_checkout->delete;
111
112
        my $THE_claim;
113
114
        throws_ok {
115
            $THE_claim = Koha::Checkouts::ReturnClaim->new(
116
                {
117
                    issue_id       => $checkout_id,
118
                    itemnumber     => $checkout->itemnumber,
119
                    borrowernumber => $checkout->borrowernumber,
120
                    notes          => 'Some notes',
121
                    created_by     => $librarian->borrowernumber
122
                }
123
            )->store;
124
        }
125
        'Koha::Exceptions::Object::FKConstraint',
126
          'An exception is thrown on invalid issue_id';
127
        close STDERR;
128
129
        is( $@->broken_fk, 'issue_id', 'Exception field is correct' );
130
    }
131
104
    $schema->storage->txn_rollback;
132
    $schema->storage->txn_rollback;
105
};
133
};
106
- 

Return to bug 14697