ObjectCache:
[dbsrgits/DBIx-Class.git] / t / run / 14mssql.tl
CommitLineData
0567538f 1sub run_tests {\r
2\r
3my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MSSQL_${_}" } qw/DSN USER PASS/};\r
4\r
5#warn "$dsn $user $pass";\r
6\r
7plan skip_all, 'Set $ENV{DBICTEST_MSSQL_DSN}, _USER and _PASS to run this test'\r
8 unless ($dsn);\r
9\r
10plan tests => 4;\r
11\r
12DBICTest::Schema->compose_connection( 'MSSQLTest' => $dsn, $user, $pass );\r
13\r
14my $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
21MSSQLTest::Artist->load_components('PK::Auto::MSSQL');\r
22\r
23# Test PK\r
24my $new = MSSQLTest::Artist->create( { name => 'foo' } );\r
25ok($new->artistid, "Auto-PK worked");\r
26\r
27# Test LIMIT\r
28for (1..6) {\r
29 MSSQLTest::Artist->create( { name => 'Artist ' . $_ } );\r
30}\r
31\r
32my $it = MSSQLTest::Artist->search( { },\r
33 { rows => 3,\r
34 offset => 2,\r
35 order_by => 'artistid'\r
36 }\r
37);\r
38\r
39is( $it->count, 3, "LIMIT count ok" );\r
40is( $it->next->name, "Artist 2", "iterator->next ok" );\r
41$it->next;\r
42$it->next;\r
43is( $it->next, undef, "next past end of resultset ok" );\r
44\r
45}\r
46\r
471;\r