Lines 33-48
BEGIN {
Link Here
|
33 |
use_ok('Koha::Patron'); |
33 |
use_ok('Koha::Patron'); |
34 |
} |
34 |
} |
35 |
|
35 |
|
36 |
my $schema = Koha::Database->new->schema; |
36 |
my $schema = Koha::Database->new->schema; |
37 |
$schema->storage->txn_begin; |
|
|
38 |
|
39 |
my $builder = t::lib::TestBuilder->new(); |
37 |
my $builder = t::lib::TestBuilder->new(); |
40 |
|
38 |
|
41 |
my $categorycode = $schema->resultset('Category')->first()->categorycode(); |
|
|
42 |
my $branchcode = $schema->resultset('Branch')->first()->branchcode(); |
43 |
|
44 |
subtest 'is_changed' => sub { |
39 |
subtest 'is_changed' => sub { |
45 |
plan tests => 6; |
40 |
plan tests => 6; |
|
|
41 |
|
42 |
$schema->storage->txn_begin; |
43 |
|
44 |
my $categorycode = $builder->build({ source => 'Category' })->{categorycode}; |
45 |
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode}; |
46 |
|
46 |
my $object = Koha::Patron->new(); |
47 |
my $object = Koha::Patron->new(); |
47 |
$object->categorycode( $categorycode ); |
48 |
$object->categorycode( $categorycode ); |
48 |
$object->branchcode( $branchcode ); |
49 |
$object->branchcode( $branchcode ); |
Lines 61-70
subtest 'is_changed' => sub {
Link Here
|
61 |
is( $object->is_changed(), 1, "Object is changed after Set" ); |
62 |
is( $object->is_changed(), 1, "Object is changed after Set" ); |
62 |
$object->store(); |
63 |
$object->store(); |
63 |
is( $object->is_changed(), 0, "Object no longer marked as changed after being stored" ); |
64 |
is( $object->is_changed(), 0, "Object no longer marked as changed after being stored" ); |
|
|
65 |
|
66 |
$schema->storage->txn_rollback; |
64 |
}; |
67 |
}; |
65 |
|
68 |
|
66 |
subtest 'in_storage' => sub { |
69 |
subtest 'in_storage' => sub { |
67 |
plan tests => 6; |
70 |
plan tests => 6; |
|
|
71 |
|
72 |
$schema->storage->txn_begin; |
73 |
|
74 |
my $categorycode = $builder->build({ source => 'Category' })->{categorycode}; |
75 |
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode}; |
76 |
|
68 |
my $object = Koha::Patron->new(); |
77 |
my $object = Koha::Patron->new(); |
69 |
is( $object->in_storage, 0, "Object is not in storage" ); |
78 |
is( $object->in_storage, 0, "Object is not in storage" ); |
70 |
$object->categorycode( $categorycode ); |
79 |
$object->categorycode( $categorycode ); |
Lines 83-105
subtest 'in_storage' => sub {
Link Here
|
83 |
$patron = $schema->resultset('Borrower')->find( $borrowernumber ); |
92 |
$patron = $schema->resultset('Borrower')->find( $borrowernumber ); |
84 |
ok( ! $patron, "Object no longer found in database" ); |
93 |
ok( ! $patron, "Object no longer found in database" ); |
85 |
is( $object->in_storage, 0, "Object is not in storage" ); |
94 |
is( $object->in_storage, 0, "Object is not in storage" ); |
|
|
95 |
|
96 |
$schema->storage->txn_rollback; |
86 |
}; |
97 |
}; |
87 |
|
98 |
|
88 |
subtest 'id' => sub { |
99 |
subtest 'id' => sub { |
89 |
plan tests => 1; |
100 |
plan tests => 1; |
|
|
101 |
|
102 |
$schema->storage->txn_begin; |
103 |
|
104 |
my $categorycode = $builder->build({ source => 'Category' })->{categorycode}; |
105 |
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode}; |
106 |
|
90 |
my $patron = Koha::Patron->new({categorycode => $categorycode, branchcode => $branchcode })->store; |
107 |
my $patron = Koha::Patron->new({categorycode => $categorycode, branchcode => $branchcode })->store; |
91 |
is( $patron->id, $patron->borrowernumber ); |
108 |
is( $patron->id, $patron->borrowernumber ); |
|
|
109 |
|
110 |
$schema->storage->txn_rollback; |
92 |
}; |
111 |
}; |
93 |
|
112 |
|
94 |
subtest 'get_column' => sub { |
113 |
subtest 'get_column' => sub { |
95 |
plan tests => 1; |
114 |
plan tests => 1; |
|
|
115 |
|
116 |
$schema->storage->txn_begin; |
117 |
|
118 |
my $categorycode = $builder->build({ source => 'Category' })->{categorycode}; |
119 |
my $branchcode = $builder->build({ source => 'Branch' })->{branchcode}; |
120 |
|
96 |
my $patron = Koha::Patron->new({categorycode => $categorycode, branchcode => $branchcode })->store; |
121 |
my $patron = Koha::Patron->new({categorycode => $categorycode, branchcode => $branchcode })->store; |
97 |
is( $patron->get_column('borrowernumber'), $patron->borrowernumber, 'get_column should retrieve the correct value' ); |
122 |
is( $patron->get_column('borrowernumber'), $patron->borrowernumber, 'get_column should retrieve the correct value' ); |
|
|
123 |
|
124 |
$schema->storage->txn_rollback; |
98 |
}; |
125 |
}; |
99 |
|
126 |
|
100 |
subtest 'discard_changes' => sub { |
127 |
subtest 'discard_changes' => sub { |
101 |
plan tests => 1; |
128 |
plan tests => 1; |
102 |
my $builder = t::lib::TestBuilder->new; |
129 |
|
|
|
130 |
$schema->storage->txn_begin; |
131 |
|
103 |
my $patron = $builder->build( { source => 'Borrower' } ); |
132 |
my $patron = $builder->build( { source => 'Borrower' } ); |
104 |
$patron = Koha::Patrons->find( $patron->{borrowernumber} ); |
133 |
$patron = Koha::Patrons->find( $patron->{borrowernumber} ); |
105 |
$patron->dateexpiry(dt_from_string); |
134 |
$patron->dateexpiry(dt_from_string); |
Lines 109-120
subtest 'discard_changes' => sub {
Link Here
|
109 |
dt_from_string->truncate( to => 'day' ), |
138 |
dt_from_string->truncate( to => 'day' ), |
110 |
'discard_changes should refresh the object' |
139 |
'discard_changes should refresh the object' |
111 |
); |
140 |
); |
|
|
141 |
|
142 |
$schema->storage->txn_rollback; |
112 |
}; |
143 |
}; |
113 |
|
144 |
|
114 |
subtest 'TO_JSON tests' => sub { |
145 |
subtest 'TO_JSON tests' => sub { |
115 |
|
146 |
|
116 |
plan tests => 5; |
147 |
plan tests => 5; |
117 |
|
148 |
|
|
|
149 |
$schema->storage->txn_begin; |
150 |
|
118 |
my $borrowernumber = $builder->build( |
151 |
my $borrowernumber = $builder->build( |
119 |
{ source => 'Borrower', |
152 |
{ source => 'Borrower', |
120 |
value => { lost => 1, |
153 |
value => { lost => 1, |
Lines 131-136
subtest 'TO_JSON tests' => sub {
Link Here
|
131 |
is( $gonenoaddress, 0, 'Boolean attribute value is correct (false)' ); |
164 |
is( $gonenoaddress, 0, 'Boolean attribute value is correct (false)' ); |
132 |
|
165 |
|
133 |
ok( !isvstring($patron->borrowernumber), 'Integer values are not coded as strings' ); |
166 |
ok( !isvstring($patron->borrowernumber), 'Integer values are not coded as strings' ); |
|
|
167 |
|
168 |
$schema->storage->txn_rollback; |
134 |
}; |
169 |
}; |
135 |
|
170 |
|
136 |
|
171 |
|
137 |
- |
|
|