e00820b73b202a4970519676c6adbe5faacbb0f0
[dbsrgits/DBIx-Class.git] / t / cdbi / 71_column_object.t
1 # Columns in CDBI could be defined as Class::DBI::Column objects rather than
2 # or as well as with __PACKAGE__->columns();
3 use DBIx::Class::Optional::Dependencies -skip_all_without => qw( cdbicompat Class::DBI>=3.000005 );
4
5 use strict;
6 use warnings;
7
8 use Test::More;
9
10 use lib 't/cdbi/testlib';
11 use ColumnObject;
12
13 ok(ColumnObject->can('db_Main'), 'set_db()');
14 is(ColumnObject->__driver, 'SQLite', 'Driver set correctly');
15
16 ColumnObject->create({
17   columna => 'Test Data',
18   columnb => 'Test Data 2',
19 });
20
21 my $column_object = ColumnObject->retrieve(columna => 'Test Data');
22 $column_object->columnb_as_write('Test Data Written');
23 $column_object->update;
24 $column_object = ColumnObject->retrieve(columna => 'Test Data');
25
26 is($column_object->columna_as_read => 'Test Data', 'Read column via accessor');
27 is($column_object->columna         => 'Test Data', 'Real column returns right data');
28 is($column_object->columnb         => 'Test Data Written', 'ColumnB wrote via mutator');
29
30 done_testing;