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