$I->resetCookie('language'); $prepareData = function ($data, $redirects = false) { if (!is_array($data)) { $data = array($data); } $defaults = array('opts' => array(), 'method' => 'get', 'expectedCode' => 200, 'redirects' => $redirects); foreach ($defaults as $key => $value) { if (!isset($data[$key])) { $data[$key] = $value; } } $data['url'] = \Yii::app()->createUrl($data[0], $data['opts']); return $data; }; foreach ($publicPages as $def) { $data = $prepareData($def); $I->amOnPage($data['url']); if (!$data['redirects']) { $I->canSeeCurrentUrlEquals($data['url']); } $I->canSeeResponseCodeIs($data['expectedCode']); } foreach ($privatePages as $def) { $data = $prepareData($def, true); $I->amOnPage($data['url']); if ($data['redirects']) { $I->canSeeCurrentUrlEquals(\LoginPage::$url); } else { $I->canSeeResponseCodeIs(403); } }