From 1086168f4e9dd1da02006dcd29ce81fa868e88f0 Mon Sep 17 00:00:00 2001 From: hylom Date: Wed, 29 Mar 2017 19:12:31 +0900 Subject: [PATCH] t: add models/discussions/t --- src/newslash_web/t/models/discussions.t | 51 +++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/newslash_web/t/models/discussions.t diff --git a/src/newslash_web/t/models/discussions.t b/src/newslash_web/t/models/discussions.t new file mode 100644 index 00000000..97568cc0 --- /dev/null +++ b/src/newslash_web/t/models/discussions.t @@ -0,0 +1,51 @@ +# -*-Perl-*- +# Newslash::Model::Discussions tests +use Mojo::Base -strict; + +use Test::More; +use Test::Mojo; +use Data::Dumper; +use Newslash::Util::Test qw(create_user delete_user create_story delete_story); + +my $t = Test::Mojo->new('Newslash::Web'); + +use constant TEST_USER_NAME => 'discussion_tester'; +my ($user, $story); + +# prepare for test +if ($t->app->mode eq 'test') { + $user = create_user($t->app, TEST_USER_NAME); + ok($user, "create user for test"); + + $story = create_story($t->app, $user, title => 'This is test', body => '

This is test!

'); + ok($story, "create story for test"); +} + +subtest 'get discussions object' => sub { + my $discussions = $t->app->model('discussions'); + ok($discussions, 'get discussions object'); +}; + +subtest 'select/update discussions' => sub { + plan skip_all => "mode is not 'test'" if ($t->app->mode ne 'test'); + my $discussions = $t->app->model('discussions'); + my $discus_id = $story->{discussion_id}; + + my $discus = $discussions->select(stoid => $story->{stoid}); + ok($discus, "select comment by stoid"); + is($discus->{discussion_id}, $discus_id, "select valid discussion"); + + ok($discussions->update(discussion_id => $discus_id, commentcount => 2), "commentcount update"); + + $discus = $discussions->select(discussion_id => $story->{discussion_id}); + ok($discus, "select comment by discussion_id"); + is($discus->{commentcount}, 2, "update correctly"); +}; + +# finish +if ($t->app->mode eq 'test') { + delete_story($t->app, $story->{stoid}); + delete_user($t->app, TEST_USER_NAME); +} + +done_testing(); -- 2.11.0