OSDN Git Service

Controller::API::Journal: fix parameter name
authorhylom <hylom@users.sourceforge.jp>
Fri, 11 Nov 2016 15:17:20 +0000 (00:17 +0900)
committerhylom <hylom@users.sourceforge.jp>
Fri, 11 Nov 2016 15:17:20 +0000 (00:17 +0900)
src/newslash_web/lib/Newslash/Web/Controller/API/Journal.pm
src/newslash_web/t/api.t
src/newslash_web/t/models/journals.t

index 18a1a88..b36e516 100644 (file)
@@ -61,12 +61,18 @@ EOT
         $message = "invalid author";
     }
     $params->{uid} = $user->{uid};
-    $params->{article} = $data->{journal};
-    $params->{commentstatus} = $data->{comment_status};
+    $params->{article} = $data->{introtext};
+    $params->{commentstatus} = $data->{commentstatus};
     $params->{action} = $data->{action} || 'preview';
-    $params->{posttype} = $data->{post_type};
+    $params->{posttype} = $data->{posttype};
     $params->{tid} = $data->{tid};
-    $params->{promotype} = $data->{promotype};
+
+    if ($data->{submissioncopy}) {
+        $params->{promotetype} = "publicize";
+    }
+    else {
+        $params->{promotetype} = "public";
+    }
 
     # TODO: can select topics
     #$params->{topics_chosen} = { 49 => 10, }; # tid => weight
index 9cc2034..a06edca 100644 (file)
@@ -70,14 +70,21 @@ SKIP: {
     };
 
     subtest 'journal post' => sub {
+        my $text = <<"EOT";
+東芝が2013年7月から2015年8月までに発売されたノートPC45機種で使われているバッテリーの一部について、使い方によっては過熱してショートし発火する恐れがあるとし、新品への無償交換を行うことを発表した(<a href="http://www3.nhk.or.jp/news/html/20161110/k10010763661000.html">NHK</a>、<a href="http://pc.watch.impress.co.jp/docs/news/1029272.html">PC Watch</a>)。
+
+東芝のノートPCについては、<a href="http://hardware.srad.jp/story/14/11/14/2013216/">2014年</a>および<a href="https://mobile.srad.jp/story/16/01/29/2321242/">今年1月</a>にバッテリーの過熱・発煙・発火の恐れがあるとしてバッテリーのリコールが行われているが、発見されたのはこれとは別の不具合とのこと(<a href="https://batterycheck.toshiba.com/BatteryUpdate/InformationJapan?region=TJPN&amp;country=JP&amp;lang=ja">東芝の発表</a>)。そのため、以前問題ないとされたPCについても、再度確認が必要とのこと。
+
+EOT
+
         my $test_data = {
                          title => "テスト日記",
-                         journal => "日記テスト本文\nてすとてすと" . localtime,
-                         comment_status => 'enabled',
+                         introtext => $text,
+                         commentstatus => 'enabled',
                          action => 'post',
-#                         posttype => '',
-#                         tid => '',
-#                         promotype => '',
+                         #                         posttype => '',
+                         #                         tid => '',
+                         # submissioncopy = 0,
                         };
         # anonymous user cannot create journals
         $t->post_ok('/api/v1/journal' => {Accept => '*/*'} => json => $test_data)
@@ -135,7 +142,7 @@ subtest 'journal preview' => sub {
     my $test_data = {
                      title => "テスト日記",
                      journal => "日記テスト本文\nてすとてすと" . localtime,
-                     comment_status => 'enabled',
+                     commentstatus => 'enabled',
                      action => 'preview',
                     };
 
index cba9d6f..6b5f1c1 100644 (file)
@@ -9,27 +9,44 @@ use Data::Dumper;
 my $t = Test::Mojo->new('Newslash::Web');
 my $journals = $t->app->model('journals');
 
-my $text1 = "日記テスト本文\nてすとてすと";
-my $text2 = <<"EOT";
+# posttype: 1: PLAINTEXT, 2: HTML, 3: EXTRANS, 4: CODE, 77: FULLHTML
+my $posttype = 2;
+
+my $article = "日記テスト本文\nてすとてすと";
+
+my $introtext = $journals->article_to_introtext($article, $posttype);
+unlike($introtext, qr/\A\s*\z/, "article_to_introtext returns valid");
+diag("introtext is $introtext");
+
+my $bodytext = $journals->article_to_bodytext($article, $posttype);
+is(length $bodytext, 0, "article_to_bodytext returns valid");
+diag("bodytext is $bodytext");
+
+my $fulltext = $journals->article_to_fulltext($article, $posttype);
+unlike($fulltext, qr/\A\s*\z/, "article_to_fulltext returns valid");
+diag("fulltext is $fulltext");
+
+
+$article = <<"EOT";
 東芝が2013年7月から2015年8月までに発売されたノートPC45機種で使われているバッテリーの一部について、使い方によっては過熱してショートし発火する恐れがあるとし、新品への無償交換を行うことを発表した(<a href="http://www3.nhk.or.jp/news/html/20161110/k10010763661000.html">NHK</a>、<a href="http://pc.watch.impress.co.jp/docs/news/1029272.html">PC Watch</a>)。
 
 東芝のノートPCについては、<a href="http://hardware.srad.jp/story/14/11/14/2013216/">2014年</a>および<a href="https://mobile.srad.jp/story/16/01/29/2321242/">今年1月</a>にバッテリーの過熱・発煙・発火の恐れがあるとしてバッテリーのリコールが行われているが、発見されたのはこれとは別の不具合とのこと(<a href="https://batterycheck.toshiba.com/BatteryUpdate/InformationJapan?region=TJPN&amp;country=JP&amp;lang=ja">東芝の発表</a>)。そのため、以前問題ないとされたPCについても、再度確認が必要とのこと。
 
 EOT
 
-my @articles = ($text1, $text2);
+$introtext = $journals->article_to_introtext($article, $posttype);
+unlike($introtext, qr/\A\s*\z/, "article_to_introtext returns valid");
+diag("introtext is $introtext");
+
+$bodytext = $journals->article_to_bodytext($article, $posttype);
+unlike($bodytext, qr/\A\s*\z/, "article_to_bodytext returns valid");
+diag("bodytext is $bodytext");
+
+my $fulltext = $journals->article_to_fulltext($article, $posttype);
+unlike($fulltext, qr/\A\s*\z/, "article_to_fulltext returns valid");
+diag("fulltext is $fulltext");
 
-# posttype: 1: PLAINTEXT, 2: HTML, 3: EXTRANS, 4: CODE, 77: FULLHTML
-my $posttype = 2;
 
-for my $article (@articles) {
-    my $introtext = $journals->article_to_introtext($article, $posttype);
-    unlike($introtext, qr/\A\s*\z/, "article_to_introtext returns valid");
-    diag("introtext is $introtext");
 
-    my $bodytext = $journals->article_to_bodytext($article, $posttype);
-    unlike($bodytext, qr/\A\s*\z/, "article_to_bodytext returns valid");
-    diag("bodytext is $bodytext");
-}
 
 done_testing();