Commit | Line | Data |
243c6ebc |
1 | package dbixcsl_firebird_extra_tests; |
2 | |
3 | use strict; |
4 | use warnings; |
5 | use Test::More; |
6 | use Test::Exception; |
7 | |
8 | sub extra { +{ |
9 | create => [ |
10 | # test a mixed case table |
11 | q{ |
12 | CREATE TABLE "Firebird_Loader_Test1" ( |
13 | "Id" INTEGER NOT NULL PRIMARY KEY |
14 | ) |
15 | }, |
16 | q{ |
17 | CREATE GENERATOR "Gen_Firebird_Loader_Test1_Id" |
18 | }, |
19 | q{ |
20 | CREATE TRIGGER "Firebird_Loader_Test1_BI" for "Firebird_Loader_Test1" |
21 | ACTIVE BEFORE INSERT POSITION 0 |
22 | AS |
23 | BEGIN |
24 | IF (NEW."Id" IS NULL) THEN |
25 | NEW."Id" = GEN_ID("Gen_Firebird_Loader_Test1_Id",1); |
26 | END |
27 | }, |
28 | ], |
29 | pre_drop_ddl => [ |
30 | q{DROP TRIGGER "Firebird_Loader_Test1_BI"}, |
31 | q{DROP GENERATOR "Gen_Firebird_Loader_Test1_Id"}, |
32 | ], |
33 | drop => [ |
34 | q{"Firebird_Loader_Test1"} |
35 | ], |
36 | count => 5, |
37 | run => sub { |
38 | my ($schema, $monikers, $classes) = @_; |
39 | |
40 | ok ((my $rsrc = eval { $schema->resultset($monikers->{Firebird_Loader_Test1})->result_source }), |
41 | 'got rsrc for mixed case table'); |
42 | |
43 | ok ((my $col_info = eval { $rsrc->column_info('Id') }), |
44 | 'got column_info for column Id'); |
45 | |
46 | is $col_info->{accessor}, 'id', 'column Id has lowercase accessor "id"'; |
47 | |
48 | is $col_info->{is_auto_increment}, 1, 'is_auto_increment detected for mixed case trigger'; |
49 | |
50 | is $col_info->{sequence}, 'Gen_Firebird_Loader_Test1_Id', 'correct mixed case sequence name'; |
51 | }, |
52 | }} |
53 | |
54 | 1; |