All common helpers in one place.
[blog.pm-common-perl-mods.git] / Common-RDBO-Helper / t / get_prev_next_objects.t
blobc9c7cc0bd6633be92f5394bd5922c59a8404fb36
1 #! /usr/bin/perl
3 use lib 't/lib';
5 use Test::More 'tests' => 8;
7 use NewDB;
8 use Post;
9 use Post::Manager;
11 my $db = NewDB->new();
13 $db->init();
15 my @data = (
17 addtime => time,
18 title => 'Linux',
19 content => 'blah-blah',
22 addtime => time + 5,
23 title => 'Unix',
24 content => 'blah-blah',
27 addtime => time + 10,
28 title => 'BSD',
29 content => 'blah-blah',
33 foreach my $data ( @data ) {
34 my $post = Post->new( %$data );
36 $post->save( cascade => 1 );
39 my $posts = Post::Manager->get_posts();
41 is( scalar @$posts, 3 );
43 foreach my $post ( @$posts ) {
44 ok( $post->title );
46 if ( $post->title eq 'Linux' ) {
47 is( @{ $post->get_prev_objects( column => 'addtime', limit => 1) }, 0);
48 } elsif ( $post->title eq 'Unix' ) {
49 is( @{ $post->get_prev_objects( column => 'addtime', limit => 1) }, 1);
50 is( @{ $post->get_next_objects( column => 'addtime', limit => 1) }, 1);
51 } elsif ( $post->title eq 'BSD' ) {
52 is( @{ $post->get_next_objects( column => 'addtime', limit => 1) }, 0);
56 my $posts = Post::Manager->get_objects();
57 $_->delete( cascade => 1 ) foreach @$posts;