Commit | Line | Data |
0567538f |
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 |
3712e4f4 |
12 | DBICTest->class("Schema")->compose_connection( 'MSSQLTest' => $dsn, $user, $pass );\r |
0567538f |
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 |