Writing more genering helpers.
[blog.pm-common-perl-mods.git] / Common-RDBO-Helper / t / post-similar.t
bloba3edcd24c88ba1386191a084485b7c77d3395dee
1 #!/usr/bin/perl
3 use lib 't/lib';
5 use Test::More 'tests' => 4;
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',
20 tags => [ { name => 'linux' }, { name => 'unix' }, { name => 'bsd' }, ]
23 addtime => time + 5,
24 title => 'Unix',
25 content => 'blah-blah',
26 tags => [ { name => 'linux' }, { name => 'unix' }, ]
29 addtime => time + 10,
30 title => 'BSD',
31 content => 'blah-blah',
32 tags => [ { name => 'linux' }, ]
35 addtime => time,
36 title => 'Alone',
37 content => 'blah-blah',
41 foreach my $data ( @data ) {
42 my $tags = delete $data->{ tags };
44 my $post = Post->new( %$data );
46 $post->tags( $tags ) if $tags;
48 $post->save( cascade => 1 );
51 my $posts = Post::Manager->get_posts();
53 is( scalar @$posts, 4 );
55 my $post = Post->new( id => 1 );
56 $post->load();
58 my $similar = Post::Manager->get_list_similar( post => $post );
59 is( scalar @$similar, 2 );
61 my $similar = Post::Manager->get_list_similar( post => 4 );
62 ok( not defined $similar );
64 my $similar = Post::Manager->get_list_similar( post => 5 );
65 ok( not defined $similar );
67 my $posts = Post::Manager->get_objects();
68 $_->delete( cascade => 1 ) foreach @$posts;