* @author Shohei Nakajima * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License * @copyright Copyright 2014, NetCommons Project */ /** * Current::initialize()のControllerテスト * * @package NetCommons\Test\Fixture\CurrentLib * @codeCoverageIgnore * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) */ class CurrentLibControllerTestExpectedData { /** * お知らせ * * @param array $keys 当メソッドで内部的に処理するキーリスト * @return array assertContains(assertNotContains)の結果配列 * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function getExpectedAnnouncement($keys) { $results = []; foreach ($keys as $key) { switch ($key) { case 'toppage': $results[] = '

Top page Announcement Content

'; break; case 'private': $results[] = '

Private Announcement Content

'; break; case 'public_1': $results[] = '

Public Announcement Content 1

'; break; case 'public_2': $results[] = '

Public Announcement Content 2

'; break; case 'public_3': $results[] = '

Public Announcement Content 3

'; break; case 'community_1': $results[] = '

Community Room 1 Announcement Content 1

'; break; case 'community_1_edit': $results[] = 'name="data[Frame][id]" value="16"'; $results[] = 'name="data[Block][id]" value="11"'; $results[] = 'name="data[Block][key]" value="block_key_8"'; $results[] = 'name="data[Announcement][id]" value="8"'; $results[] = '<p>Community Room 1 Announcement Content 1</p>'; break; case 'community_2': $results[] = '

Community Room 2 Announcement Content 1

'; break; } } return $results; } /** * カレンダーの予定 * * @param string $key 当メソッドで内部的に処理するキー * @return array assertContains(assertNotContains)の結果配列 */ public function getExpectedCalendarPlanView($key) { $results = []; switch ($key) { case 'private_plan_1': $results[] = '

Repeat Private Plan 1

'; break; case 'private_plan_2': $results[] = '

Repeat Private Plan 2

'; break; } return $results; } /** * カレンダーの予定 * * @param array $keys 当メソッドで内部的に処理するキーリスト * @return array assetRegExpの結果配列の結果配列 */ public function getExpectedCalendar($keys) { $results = []; foreach ($keys as $key) { switch ($key) { case 'public_plan_1': $result = '' . 'Repeat Public Plan 1' . ''; break; case 'private_plan_1': $result = '' . 'Repeat Private Plan 1' . ''; break; case 'private_plan_2': $result = '' . 'Repeat Private Plan 2' . ''; break; case 'community_plan_1': $result = '' . 'Repeat Room Plan 1' . ''; break; } $results[] = '#' . $result . '#'; } return $results; } /** * 掲示板の記事詳細の予定 * * @param string $key 当メソッドで内部的に処理するキー * @return array assertContains(assertNotContains)の結果配列 */ public function getExpectedBbsArticleView($key) { $results = []; switch ($key) { case 'community_1_bbs_article_1': $results[] = 'Community room 1 bbs 1 article 1 title'; break; } return $results; } /** * 一覧へのリンク * * @param string $key 当メソッドで内部的に処理するキー * @return array assetRegExpの結果配列の結果配列 */ public function getExpectedToBackLink($key) { $results = []; switch ($key) { case 'community_1_bbs_article_1': $result = '' . ' ' . ''; break; } $results[] = '#' . $result . '#'; return $results; } /** * セッティングモード * * dataProviderで使用するため、__d()を行っても英語になってしまう。 * そのため、結果と異なってしまうので、日本語を直書きとする * * @param string $key 当メソッドで内部的に処理するキー * @return array assertContains(assertNotContains)の結果配列 */ public function getExpectedSettingMode($key) { if ($key === 'on') { return ['セッティングモードON']; } else { return ['セッティングモードOFF']; } } /** * ブロック設定タブ * * @param string $key 当メソッドで内部的に処理するキー * @param string $active アクティブの項目 * @return array assetRegExpの結果配列 */ public function getExpectedBlockSettingTabs($key, $active) { $results = []; if ($key === 'annoucnement') { foreach (['block_setting', 'mail_setting', 'block_role_permission'] as $tabKey) { if ($active === $tabKey) { $result = '
  • '; } else { $result = '
  • '; } if ($tabKey === 'block_setting') { $result .= 'ブロック設定'; } elseif ($tabKey === 'mail_setting') { $result .= 'メール設定'; } elseif ($tabKey === 'block_role_permission') { $result .= '権限設定'; } $result .= '
  • '; $results[] = '#' . $result . '#'; } } return $results; } /** * フレームタイトル * * @param array $keys 当メソッドで内部的に処理するキーリスト * @return array assertContains(assertNotContains)の結果配列 */ public function getExpectedFrame($keys) { $results = []; foreach ($keys as $key) { switch ($key) { case 'menu': $results[] = 'Menu frame'; break; case 'community_1_announcement_edit_1': $results[] = 'value="Community Room 1 Annoucnement frame 1"'; break; } } return $results; } /** * メニューリスト * * @param array $keys 当メソッドで内部的に処理するキーリスト * @return array assertContains(assertNotContains)の結果配列 */ public function getExpectedMenuList($keys) { $results = []; foreach ($keys as $key) { switch ($key) { case 'public': $results[] = 'Home'; $results[] = 'Public room 1'; $results[] = 'Announcements Page'; break; case 'private': $results[] = 'プライベート'; break; case 'community_1': $results[] = 'Community room 1'; break; case 'community_1_bbs_page': $results[] = 'Community room 1 Bbs Page'; break; case 'community_2': $results[] = 'Community room 2'; break; } } return $results; } /** * メニューのアクティブ * * @param string $key 当メソッドで内部的に処理するキー * @return array assetRegExpの結果配列の結果配列 */ public function getExpectedActiveMenu($key) { switch ($key) { case 'toppage': $result = '' . 'Home'; break; case 'public_announcement_page': $result = '' . 'Announcements Page'; break; case 'public_calendar_page': $result = '' . 'Calendars Page'; break; case 'private_administrator': $result = '' . 'プライベート'; break; case 'private_general_user_1': $result = '' . 'プライベート'; break; case 'community_1': $result = '' . 'Community room 1'; break; case 'community_1_bbs_page': $result = '' . 'Community room 1 Bbs Page'; break; case 'community_2': $result = '' . 'Community room 2'; break; } return ['#' . $result . '#']; } /** * POST後のリダイレクトURL * * @param string $key 当メソッドで内部的に処理するキー * @return array assetRegExpの結果配列の結果配列 */ public function getExpectedRedirectAfterPost($key) { $fullBaseUrl = preg_quote(Configure::read('App.fullBaseUrl'), '#'); switch ($key) { case 'toppage': $result = '^' . $fullBaseUrl . '.*?/$'; break; case 'public_announcement_page': $result = '^' . $fullBaseUrl . '.*?/announcements_page$'; break; case 'public_calendars_page': $result = '^' . $fullBaseUrl . '.*?/calendars_page$'; break; case 'public_announcement_page_setting_mode': $result = '^' . $fullBaseUrl . '.*?/setting/announcements_page$'; break; case 'calendar_plan_with_frame_11': $result = '^' . $fullBaseUrl . '.*?/calendars/calendar_plans/view/[_0-9a-z]+\?frame_id=11$'; break; case 'calendar_plan_without_frame': $result = '^' . $fullBaseUrl . '.*?/calendars/calendar_plans/view/[_0-9a-z]+$'; break; case 'delete_calendar_plan_without_frame': $year = gmdate('Y'); $month = gmdate('n'); $result = '^' . $fullBaseUrl . '.*/calendars/calendars/index\?style=largemonthly&year=' . $year . '&month=' . $month . '$'; break; } return '#' . $result . '#'; } /** * POST後のリダイレクトURL * * @param string $frameAddAction Frame追加後に実行するアクション * @return array assetRegExpの結果配列の結果配列 */ public function getExpectedFrameAddRedirectAfterPost($frameAddAction) { $fullBaseUrl = preg_quote(Configure::read('App.fullBaseUrl'), '#'); $result = '^' . $fullBaseUrl . '.*?' . $frameAddAction . '\?frame_id=[0-9]+&page_id=10\#frame-[0-9]+' . '$'; return '#' . $result . '#'; } }