a97960f539d6dc10374faf42ba90e1a3ab7c04ab
[dbsrgits/DBIx-Class.git] / t / cdbi / 71_column_object.t
1 use strict;
2 use warnings;
3
4 use Test::More;
5 use lib 't/cdbi/testlib';
6
7 # Columns in CDBI could be defined as Class::DBI::Column objects rather than
8 # or as well as with __PACKAGE__->columns();
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 }
13
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;