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