Switched tests to use DBICTest->class("...")
[dbsrgits/DBIx-Class.git] / t / run / 14mssql.tl
1 sub run_tests {\r
2 \r
3 my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MSSQL_${_}" } qw/DSN USER PASS/};\r
4 \r
5 #warn "$dsn $user $pass";\r
6 \r
7 plan skip_all, 'Set $ENV{DBICTEST_MSSQL_DSN}, _USER and _PASS to run this test'\r
8   unless ($dsn);\r
9 \r
10 plan tests => 4;\r
11 \r
12 DBICTest->class("Schema")->compose_connection( 'MSSQLTest' => $dsn, $user, $pass );\r
13 \r
14 my $dbh = MSSQLTest::Artist->storage->dbh;\r
15 \r
16 $dbh->do("IF OBJECT_ID('artist', 'U') IS NOT NULL\r
17     DROP TABLE artist");\r
18 \r
19 $dbh->do("CREATE TABLE artist (artistid INT IDENTITY PRIMARY KEY, name VARCHAR(255));");\r
20 \r
21 MSSQLTest::Artist->load_components('PK::Auto::MSSQL');\r
22 \r
23 # Test PK\r
24 my $new = MSSQLTest::Artist->create( { name => 'foo' } );\r
25 ok($new->artistid, "Auto-PK worked");\r
26 \r
27 # Test LIMIT\r
28 for (1..6) {\r
29     MSSQLTest::Artist->create( { name => 'Artist ' . $_ } );\r
30 }\r
31 \r
32 my $it = MSSQLTest::Artist->search( { },\r
33     { rows     => 3,\r
34       offset   => 2,\r
35       order_by => 'artistid'\r
36     }\r
37 );\r
38 \r
39 is( $it->count, 3, "LIMIT count ok" );\r
40 is( $it->next->name, "Artist 2", "iterator->next ok" );\r
41 $it->next;\r
42 $it->next;\r
43 is( $it->next, undef, "next past end of resultset ok" );\r
44 \r
45 }\r
46 \r
47 1;\r