Commit | Line | Data |
7ad80222 |
1 | use strict; |
2 | use warnings; |
3 | |
fd0353ca |
4 | use Test::More; |
5 | use lib 't/cdbi/testlib'; |
6 | |
7ad80222 |
7 | # Columns in CDBI could be defined as Class::DBI::Column objects rather than |
8 | # or as well as with __PACKAGE__->columns(); |
fd0353ca |
9 | BEGIN { |
10 | eval { require Class::DBI and Class::DBI->VERSION('3.0.5') } |
11 | or plan skip_all => 'The tested functionality is only available in Class::DBI >= 3.0.5' |
12 | } |
7ad80222 |
13 | |
7ad80222 |
14 | use ColumnObject; |
15 | |
16 | ok(ColumnObject->can('db_Main'), 'set_db()'); |
17 | is(ColumnObject->__driver, 'SQLite', 'Driver set correctly'); |
18 | |
19 | ColumnObject->create({ |
20 | columna => 'Test Data', |
21 | columnb => 'Test Data 2', |
22 | }); |
23 | |
24 | my $column_object = ColumnObject->retrieve(columna => 'Test Data'); |
25 | $column_object->columnb_as_write('Test Data Written'); |
26 | $column_object->update; |
27 | $column_object = ColumnObject->retrieve(columna => 'Test Data'); |
28 | |
29 | is($column_object->columna_as_read => 'Test Data', 'Read column via accessor'); |
30 | is($column_object->columna => 'Test Data', 'Real column returns right data'); |
31 | is($column_object->columnb => 'Test Data Written', 'ColumnB wrote via mutator'); |
32 | |
33 | done_testing; |