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