Exemplo n.º 1
0
 /**
  * @dataProvider like_notice_provider
  */
 public function test_like_notice($member_id_to, $mc_notice_like, $member_id_from, $is_test_after_read, $is_cahce_deleted_exp, $countup_num, $countup_num_all)
 {
     if (!is_enabled('notice')) {
         \Util_Develop::output_test_info(__FILE__, __LINE__);
         $this->markTestSkipped('notice module is disabled.');
     }
     // 事前準備
     \Model_MemberConfig::set_value($member_id_to, \Notice\Form_MemberConfig::get_name('like'), $mc_notice_like);
     $is_new = false;
     if (!self::$commented_member_id_before || $member_id_to != self::$commented_member_id_before) {
         $note = self::set_note();
         $note_comment = self::save_comment(self::$note_id, $member_id_to);
         self::$note_comment_id = $note_comment->id;
         $is_new = true;
     }
     self::$commented_member_id_before = $member_id_to;
     $note_id = self::$note_id;
     $foreign_id = self::$note_comment_id;
     if ($is_test_after_read) {
         $read_count = \Notice\Site_Util::change_status2read($member_id_to, self::$foreign_table, $foreign_id, self::$type_key);
     }
     $notice_count_all_before = \Notice\Model_Notice::get_count();
     // set cache
     $notice_count_before = \Notice\Site_Util::get_unread_count($member_id_to);
     if (self::$is_check_notice_cache) {
         $this->assertFalse(\Notice\Site_Test::check_no_cache4notice_unread($member_id_to));
     }
     // cache が生成されていることを確認
     // like save
     $is_liked = (bool) Model_NoteCommentLike::change_registered_status4unique_key(array('note_comment_id' => self::$note_comment_id, 'member_id' => $member_id_from));
     if (self::$is_check_notice_cache) {
         if ($is_cahce_deleted_exp) {
             $this->assertTrue(\Notice\Site_Test::check_no_cache4notice_unread($member_id_to));
         } else {
             $this->assertFalse(\Notice\Site_Test::check_no_cache4notice_unread($member_id_to));
         }
     }
     // notice count 取得
     $notice_count = \Notice\Site_Util::get_unread_count($member_id_to);
     if (self::$is_check_notice_cache) {
         $this->assertFalse(\Notice\Site_Test::check_no_cache4notice_unread($member_id_to));
     }
     // cache が生成されていることを確認
     // execute test
     $this->assertEquals($notice_count_before + $countup_num, $notice_count);
     // count up を確認
     // Model_Notice
     // 件数
     $notice_count_all = \Notice\Model_Notice::get_count();
     $this->assertEquals($notice_count_all_before + $countup_num_all, $notice_count_all);
     // record
     if ($notice = \Notice\Model_Notice::get_last4foreign_data(self::$foreign_table, $foreign_id, \Notice\Site_Util::get_notice_type(self::$type_key))) {
         $notice_status = \Notice\Model_NoticeStatus::get4member_id_and_notice_id($member_id_to, $notice->id);
         $notice_member_from = \Notice\Model_NoticeMemberFrom::get_last();
         if ($mc_notice_like !== 0 && $member_id_to != $member_id_from) {
             $this->assertEquals($member_id_from, $notice_member_from->member_id);
         }
         $this->assertEquals($notice_member_from->created_at, $notice_status->sort_datetime);
     }
 }
Exemplo n.º 2
0
 /**
  * @dataProvider comment_notice_provider
  */
 public function test_comment_notice($member_id_to, $mc_notice_comment, $member_id_from, $is_test_after_read, $is_cahce_deleted_exp, $is_countup_exp, $is_created_record_notice_exp)
 {
     if (!is_enabled('notice')) {
         \Util_Develop::output_test_info(__FILE__, __LINE__);
         $this->markTestSkipped('notice module is disabled.');
     }
     // 事前準備
     \Model_MemberConfig::set_value($member_id_to, \Notice\Form_MemberConfig::get_name(self::$type_key), $mc_notice_comment);
     $is_new = false;
     if ($member_id_to != self::$member_id) {
         self::$member_id = $member_id_to;
         self::$album_image = self::set_album_image();
         $is_new = true;
     }
     $album_image_id = self::$album_image->id;
     $foreign_id = self::$album_image->id;
     if ($is_test_after_read) {
         $read_count = \Notice\Site_Util::change_status2read($member_id_to, self::$foreign_table, $album_image_id, self::$type_key);
     }
     $countup_num = $is_countup_exp ? 1 : 0;
     $notice_count_all_before = \Notice\Model_Notice::get_count();
     // set cache
     $notice_count_before = \Notice\Site_Util::get_unread_count($member_id_to);
     if (self::$is_check_notice_cache) {
         $this->assertFalse(self::check_no_cache($member_id_to));
     }
     // cache が生成されていることを確認
     // album_image_comment save
     $album_image_comment = $this->save_comment($member_id_from);
     self::$commented_member_id_before = $member_id_from;
     if (self::$is_check_notice_cache) {
         if ($is_cahce_deleted_exp) {
             $this->assertTrue(self::check_no_cache($member_id_to));
         } else {
             $this->assertFalse(self::check_no_cache($member_id_to));
         }
     }
     // notice count
     $notice_count = \Notice\Site_Util::get_unread_count($member_id_to);
     if (self::$is_check_notice_cache) {
         $this->assertFalse(self::check_no_cache($member_id_to));
     }
     // cache が生成されていることを確認
     // execute test
     $this->assertEquals($notice_count_before + $countup_num, $notice_count);
     // count up を確認
     // Model_Notice
     // count
     $notice_count_all = \Notice\Model_Notice::get_count();
     $notice_count_all_countup_num = $is_created_record_notice_exp ? 1 : 0;
     $this->assertEquals($notice_count_all_before + $notice_count_all_countup_num, $notice_count_all);
     // record
     if ($notice = \Notice\Model_Notice::get_last4foreign_data(self::$foreign_table, $foreign_id, \Notice\Site_Util::get_notice_type(self::$type_key))) {
         $notice_status = \Notice\Model_NoticeStatus::get4member_id_and_notice_id($member_id_to, $notice->id);
         $notice_member_from = \Notice\Model_NoticeMemberFrom::get_last();
         if ($mc_notice_comment !== 0 && $member_id_to != $member_id_from) {
             $this->assertEquals($member_id_from, $notice_member_from->member_id);
         }
         $this->assertEquals($notice_member_from->created_at, $notice_status->sort_datetime);
     }
 }