コード例 #1
0
ファイル: album.php プロジェクト: uzura8/flockbird
 /**
  * @dataProvider update_public_flag_with_relations_provider
  */
 public function test_update_public_flag_with_relations($public_flag, $is_update_children_public_flag)
 {
     $album = $this->get_album();
     $before = array('public_flag' => $album->public_flag, 'created_at' => $album->created_at, 'updated_at' => $album->updated_at);
     $album->update_public_flag_with_relations($public_flag, $is_update_children_public_flag);
     self::$album = $album;
     // 件数
     $this->assertEquals(self::$album_count, \Util_Orm::get_count_all('\\Album\\Model_Album'));
     // 値
     $this->assertEquals($public_flag, $album->public_flag);
     // date
     // 変更なし
     if ($album->public_flag == $before['public_flag']) {
         $this->assertEquals($before['updated_at'], $album->updated_at);
     } else {
         $this->assertTrue(\Util_Date::check_is_future($album->updated_at, $album->created_at));
         $this->assertTrue(\Util_Date::check_is_future($album->updated_at, $before['updated_at']));
     }
     // timeline
     if (is_enabled('timeline')) {
         $timelines = \Timeline\Model_Timeline::get4foreign_table_and_foreign_ids('album', $album->id, \Config::get('timeline.types.album'));
         $this->assertCount(1, $timelines);
         $timeline = array_shift($timelines);
         $this->assertEquals($album->public_flag, $timeline->public_flag);
         // 変更なし
         if ($album->public_flag == $before['public_flag']) {
             $this->assertEquals($before['updated_at'], $timeline->sort_datetime);
         } else {
             $this->assertEquals($album->updated_at, $timeline->sort_datetime);
         }
     }
 }
コード例 #2
0
ファイル: note.php プロジェクト: uzura8/flockbird
 /**
  * @dataProvider update_public_flag_with_relations_provider
  */
 public function test_update_public_flag_with_relations($public_flag)
 {
     $note = $this->get_last_row();
     $before = array('public_flag' => $note->public_flag, 'updated_at' => $note->updated_at, 'sort_datetime' => $note->sort_datetime);
     $note->update_public_flag_with_relations($public_flag);
     // 件数
     $this->assertEquals(self::$note_count, \Util_Orm::get_count_all('\\Note\\Model_Note'));
     // 値
     $this->assertEquals($public_flag, $note->public_flag);
     // date
     // 変更なし
     if ($note->public_flag == $before['public_flag']) {
         $this->assertEquals($before['updated_at'], $note->updated_at);
         $this->assertEquals($before['sort_datetime'], $note->sort_datetime);
     } else {
         $this->assertTrue(\Util_Date::check_is_future($note->updated_at, $note->created_at));
         $this->assertEquals($note->updated_at, $note->sort_datetime);
     }
     // timeline
     if (is_enabled('timeline')) {
         $timelines = \Timeline\Model_Timeline::get4foreign_table_and_foreign_ids('note', $note->id, \Config::get('timeline.types.note'));
         if ($note->is_published) {
             $this->assertCount(1, $timelines);
             $timeline = array_shift($timelines);
             $this->assertEquals($note->public_flag, $timeline->public_flag);
             $this->assertEquals($note->sort_datetime, $timeline->sort_datetime);
         } else {
             $this->assertCount(0, $timelines);
         }
     }
 }
コード例 #3
0
ファイル: validation.php プロジェクト: uzura8/flockbird
 public function _validation_datetime_is_future($val, $base = '', $max = '', $is_return_time = false)
 {
     if (empty($val)) {
         return true;
     }
     // if $val is empty, uncheck;
     return Util_Date::check_is_future($val, $base, $max ?: conf('posted_value_rule_default.time.default.max'));
 }
コード例 #4
0
ファイル: albumimage.php プロジェクト: uzura8/flockbird
 /**
  * @dataProvider update_public_flag_provider
  */
 public function test_update_public_flag($default_public_flag, $public_flag, $timeline_public_flag_expected)
 {
     if (!self::$album_image || !is_null($default_public_flag)) {
         self::$album_image = $this->get_album_image(array('public_flag' => $default_public_flag), 2);
     }
     $timelines = \Timeline\Model_Timeline::get4foreign_table_and_foreign_ids('album', self::$album_image->album_id, \Config::get('timeline.types.album_image'));
     $timeline_before = array_shift($timelines);
     // timeline view cache 作成
     if (self::$is_check_timeline_view_cache) {
         $timeline_view_cache_before = \Timeline\Site_Util::make_view_cache4foreign_table_and_foreign_id('album', $album->id, \Config::get('timeline.types.album_image'));
     }
     $before = array('public_flag' => self::$album_image->public_flag, 'created_at' => self::$album_image->created_at, 'updated_at' => self::$album_image->updated_at);
     // update public_flag
     \Util_Develop::sleep();
     self::$album_image->update_public_flag($public_flag);
     $is_updated = $public_flag != $before['public_flag'];
     // 値
     $this->assertEquals($public_flag, self::$album_image->public_flag);
     // date
     // 変更あり
     if ($is_updated) {
         $this->assertTrue(\Util_Date::check_is_future(self::$album_image->updated_at, $before['updated_at']));
     } else {
         $this->assertEquals($before['updated_at'], self::$album_image->updated_at);
     }
     // timeline
     if (is_enabled('timeline')) {
         // 件数
         $this->assertEquals(self::$timeline_count, \Util_Orm::get_count_all('\\Timeline\\Model_Timeline'));
         $this->assertEquals(self::$timeline_cache_count, \Util_Orm::get_count_all('\\Timeline\\Model_TimelineCache'));
         $timelines = \Timeline\Model_Timeline::get4foreign_table_and_foreign_ids('album', self::$album_image->album_id, \Config::get('timeline.types.album_image'));
         $timeline = array_shift($timelines);
         $this->assertEquals($timeline_public_flag_expected, $timeline->public_flag);
         // 変更あり
         if ($is_updated) {
             if (\Site_Util::check_is_expanded_public_flag_range($before['public_flag'], $public_flag)) {
                 $this->assertTrue(\Util_Date::check_is_future($timeline->sort_datetime, self::$album_image->created_at));
             }
         } else {
             $this->assertEquals($timeline_before->updated_at, $timeline->updated_at);
         }
         // timeline view cache check
         if (self::$is_check_timeline_view_cache) {
             $this->assertEmpty(\Timeline\Site_Util::get_view_cache($timeline->id));
         }
     }
 }