本文整理汇总了PHP中Codeception\Util\Fixtures类的典型用法代码示例。如果您正苦于以下问题:PHP Fixtures类的具体用法?PHP Fixtures怎么用?PHP Fixtures使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Fixtures类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: foreach
public function topページ_初期表示(\AcceptanceTester $I)
{
$I->wantTo('EF0101-UC01-T01 TOPページ 初期表示');
$I->amOnPage('/');
// カテゴリ選択ボックス(キーワード検索用)、キーワード検索入力欄、虫眼鏡ボタンが表示されている
$I->see('全ての商品', '#search #category_id');
$I->see('', '#search #name');
$I->see('', '#search .bt_search');
// カテゴリ名(カテゴリ検索用)が表示されている
$categories = Fixtures::get('categories');
foreach ($categories as $category) {
$I->see($category->getName(), '#search #category_id option');
}
//管理側のコンテンツ管理(新着情報管理)に設定されている情報が、順位順に表示されている
$today = new DateTime();
$minus1 = $today->sub(new DateInterval('P1D'));
$minus2 = $today->sub(new DateInterval('P2D'));
$I->haveInDatabase('dtb_news', array('news_id' => rand(999, 9999), 'news_date' => $minus1->format('Y-m-d 00:00:00'), 'news_title' => 'タイトル1', 'news_comment' => 'コメント1', 'creator_id' => 1, 'rank' => 2, 'create_date' => $today->format('Y-m-d 00:00:00'), 'update_date' => $today->format('Y-m-d 00:00:00')));
$I->haveInDatabase('dtb_news', array('news_id' => rand(999, 9999), 'news_date' => $minus2->format('Y-m-d 00:00:00'), 'news_title' => 'タイトル2', 'news_comment' => 'コメント2', 'creator_id' => 1, 'rank' => 3, 'create_date' => $today->format('Y-m-d 00:00:00'), 'update_date' => $today->format('Y-m-d 00:00:00')));
$I->reloadPage();
$news = Fixtures::get('news');
$newsset = array();
$newsset[] = array('date' => $news[0]->getDate(), 'title' => $news[0]->getTitle(), 'comment' => $news[0]->getComment());
$newsset[] = array('date' => $minus1->format('Y-m-d 00:00:00'), 'title' => 'タイトル1', 'comment' => 'コメント1');
$newsset[] = array('date' => $minus2->format('Y-m-d 00:00:00'), 'title' => 'タイトル2', 'comment' => 'コメント2');
foreach ($newsset as $key => $news) {
$I->see($news['title'], '#news_area .newslist dl:nth-child(' . (count($newsset) - $key) . ') .news_title');
}
}
示例2: loadRuntimeFixtures
/**
* Loads fixture data.
*
* @return void
* @since 0.1.0
*/
public function loadRuntimeFixtures()
{
$serverName = false;
if (isset($_SERVER['SERVER_NAME'])) {
$serverName = $_SERVER['SERVER_NAME'];
}
$maps = array('users' => array('username' => 'login', 'rawPassword' => 'password'), 'posts' => array('name' => 'title', 'user_id' => 'author', 'category_id' => 'category'), 'categories' => array('name' => 'title'));
$dbFixtures = \Yii::app()->fixtureManager->getFixtures();
foreach ($maps as $fixture => $map) {
$data = (require $dbFixtures[$fixture]);
$index = 0;
$keyBase = "data:{$fixture}";
foreach ($data as $item) {
Fixtures::add($keyBase, $item);
foreach ($item as $field => $value) {
if (isset($map[$field])) {
$key = $keyBase . "[{$index}]:" . $map[$field];
} else {
$key = $keyBase . "[{$index}]:" . $field;
}
Fixtures::add($key, $value);
}
$index++;
}
Fixtures::add($keyBase . ':length', $index);
}
Fixtures::add('data:random:int', mt_rand(0, PHP_INT_MAX));
Fixtures::add('data:random:string', md5(Fixtures::get('data:random:int')));
Fixtures::add('defaults:app:language', \Yii::app()->language);
Fixtures::add('defaults:app:name', \Yii::app()->name);
Fixtures::add('defaults:app:theme', \Yii::app()->theme->name);
Fixtures::add('defaults:server:host', $serverName);
}
示例3: setStock
public function setStock($pid, $stock = 0)
{
if (!$pid) {
return;
}
$app = Fixtures::get('app');
if (!is_array($stock)) {
$pc = $app['orm.em']->getRepository('Eccube\\Entity\\ProductClass')->findOneBy(array('Product' => $pid));
$pc->setStock($stock);
$pc->setStockUnlimited(Constant::DISABLED);
$ps = $app['orm.em']->getRepository('Eccube\\Entity\\ProductStock')->findOneBy(array('ProductClass' => $pc->getId()));
$ps->setStock($stock);
$app['orm.em']->persist($pc);
$app['orm.em']->persist($ps);
$app['orm.em']->flush();
} else {
$pcs = $app['orm.em']->getRepository('Eccube\\Entity\\ProductClass')->createQueryBuilder('o')->where('o.Product = ' . $pid)->andwhere('o.ClassCategory1 > 0')->getQuery()->getResult();
foreach ($pcs as $key => $pc) {
$pc->setStock($stock[$key]);
$pc->setStockUnlimited(Constant::DISABLED);
$pc->setSaleLimit(2);
$ps = $app['orm.em']->getRepository('Eccube\\Entity\\ProductStock')->findOneBy(array('ProductClass' => $pc->getId()));
$ps->setStock($stock[$key]);
$app['orm.em']->persist($pc);
$app['orm.em']->persist($ps);
$app['orm.em']->flush();
}
}
}
示例4: microtime
public function basicinfo_特定商取引法(\AcceptanceTester $I)
{
$I->wantTo('EA0702-UC01-T01 特定商取引法');
$faker = Fixtures::get('faker');
$email = microtime(true) . '.' . $faker->safeEmail;
TradelawSettingPage::go($I)->入力_販売業者('販売業者')->入力_運営責任者('運営責任者')->入力_郵便番号1('530')->入力_郵便番号2('0001')->入力_都道府県('大阪府')->入力_市区町村名('大阪市北区')->入力_番地_ビル名('梅田2-4-9 ブリーゼタワー13F')->入力_電話番号1('111')->入力_電話番号2('111')->入力_電話番号3('111')->入力_Eメール($email)->入力_URL('http://www.ec-cube.net')->入力_商品代金以外の必要料金('term01')->入力_注文方法('term02')->入力_支払方法('term03')->入力_支払期限('term04')->入力_引き渡し時期('term05')->入力_返品交換について('term06')->登録();
$I->see('登録が完了しました。', TradelawSettingPage::$登録完了メッセージ);
}
示例5: resetApplicationSettings
/**
* Resets application settings.
*
* @return void
* @since 0.1.0
*/
public function resetApplicationSettings()
{
$appModel = new \ApplicationModel();
$appModel->language = Fixtures::get('defaults:app:language');
$appModel->name = Fixtures::get('defaults:app:name');
$appModel->theme = Fixtures::get('defaults:app:theme');
$appModel->save();
}
示例6: _after
protected function _after()
{
$defaultServerName = Fixtures::get('defaults:server:host');
if ($defaultServerName) {
$_SERVER['SERVER_NAME'] = $defaultServerName;
} else {
unset($_SERVER['SERVER_NAME']);
}
}
示例7: checkIfLogin
/**
* Define custom actions here
*/
function checkIfLogin(\AcceptanceTester $I)
{
//if ($I->loadSessionSnapshot('login')) return;
$I->amOnPage('/login');
$I->fillField(['name' => 'email'], Fixtures::get('username'));
$I->fillField(['name' => 'password'], Fixtures::get('password'));
$I->click('Let\'s go');
//$I->saveSessionSnapshot('login');
}
示例8: function
public function topページ_初期表示(\AcceptanceTester $I)
{
$I->wantTo('EA0101-UC01-T01 TOPページ 初期表示');
// TOP画面に現在の受注状況、お知らせ、売り上げ状況、ショップ状況が表示されている
$I->see('受注状況', TopPage::$受付状況);
$I->see('お知らせ', TopPage::$お知らせ);
$I->see('売り上げ状況', TopPage::$売上状況);
$I->see('ショップ状況', TopPage::$ショップ状況);
// 新規受付をクリックすると受注管理画面に遷移することを確認
$I->click(TopPage::$受付状況_新規受付);
$I->see('受注マスター', self::ページタイトル);
$I->goToAdminPage();
// 購入された商品が受注管理画面のページにて反映されていることを確認
$config = Fixtures::get('config');
$findOrders = Fixtures::get('findOrders');
$NewOrders = array_filter($findOrders(), function ($Order) use($config) {
return $Order->getOrderStatus()->getId() == $config['order_new'];
});
$I->see(count($NewOrders), TopPage::$受付状況_新規受付数);
// FIXME [issue] ソート順が指定されていないのでテストが失敗する
// https://github.com/EC-CUBE/ec-cube/issues/1908
// // 入金待ちをクリックすると「受注管理>入金待ち」のページに遷移することを確認
// $I->click(TopPage::$受付状況_入金待ち);
// $I->see('受注マスター', self::ページタイトル);
// $I->seeInField(OrderManagePage::$検索条件_受注ステータス, '2'/*入金待ち*/);
// $I->goToAdminPage();
//
// // 入金済みをクリックすると「受注管理>入金済み」のページに遷移することを確認
// $I->click(TopPage::$受付状況_入金済み);
// $I->see('受注マスター', self::ページタイトル);
// $I->seeInField(OrderManagePage::$検索条件_受注ステータス, '6'/*入金済み*/);
// $I->goToAdminPage();
//
// // 取り寄せ中をクリックすると「受注管理>取り寄せ」のページに遷移することを確認
// $I->click(TopPage::$受付状況_取り寄せ中);
// $I->see('受注マスター', self::ページタイトル);
// $I->seeInField(OrderManagePage::$検索条件_受注ステータス, '4'/*取り寄せ中*/);
// $I->goToAdminPage();
// お知らせの記事をクリックすると設定されたURLに遷移することを確認
$I->executeJS('document.querySelector("iframe.link_list_wrap").setAttribute("name", "news_frame")');
$I->switchToIFrame("news_frame");
$I->click(['css' => '.news_area .link_list .tableish a:nth-child(3)']);
$I->switchToNewWindow();
$I->seeInTitle("全商品 / ECサイト構築・リニューアルは「ECオープンプラットフォームEC-CUBE」");
$I->switchToWindow();
$I->switchToIFrame();
// ショップ情報の在庫切れ商品をクリックすると商品管理ページに遷移することを確認
$I->click(TopPage::$ショップ状況_在庫切れ商品);
$I->see('商品マスター', self::ページタイトル);
$I->goToAdminPage();
// ショップ情報の会員数をクリックすると会員管理に遷移することを確認
$I->click(TopPage::$ショップ状況_会員数);
$I->see('会員マスター', self::ページタイトル);
$I->dontSeeCheckboxIsChecked(CustomerManagePage::$検索条件_仮会員);
$I->seeCheckboxIsChecked(CustomerManagePage::$検索条件_本会員);
}
示例9: onlinePayment
public function onlinePayment(AcceptanceTester $I)
{
$I->wantTo('test an online payment');
$clientEmail = $this->faker->safeEmail;
$productKey = $this->faker->text(10);
// set gateway info
$I->wantTo('create a gateway');
$I->amOnPage('/company/payments');
if (strpos($I->grabFromCurrentUrl(), 'create') > 0) {
$I->fillField(['name' => '23_apiKey'], Fixtures::get('gateway_key'));
$I->selectOption('#token_billing_type_id', 4);
$I->click('Save');
$I->see('Successfully created gateway');
}
// create client
$I->amOnPage('/clients/create');
$I->fillField(['name' => 'email'], $clientEmail);
$I->click('Save');
$I->see($clientEmail);
// create product
$I->amOnPage('/products/create');
$I->fillField(['name' => 'product_key'], $productKey);
$I->fillField(['name' => 'notes'], $this->faker->text(80));
$I->fillField(['name' => 'cost'], $this->faker->numberBetween(1, 20));
$I->click('Save');
$I->see($productKey);
// create invoice
$I->amOnPage('/invoices/create');
$I->selectDropdown($I, $clientEmail, '.client_select .dropdown-toggle');
$I->fillField('table.invoice-table tbody tr:nth-child(1) #product_key', $productKey);
$I->click('Save');
$I->see($clientEmail);
// enter payment
$clientId = $I->grabFromDatabase('contacts', 'client_id', ['email' => $clientEmail]);
$invoiceId = $I->grabFromDatabase('invoices', 'id', ['client_id' => $clientId]);
$invitationKey = $I->grabFromDatabase('invitations', 'invitation_key', ['invoice_id' => $invoiceId]);
$clientSession = $I->haveFriend('client');
$clientSession->does(function (AcceptanceTester $I) use($invitationKey) {
$I->amOnPage('/view/' . $invitationKey);
$I->click('Pay Now');
$I->fillField(['name' => 'first_name'], $this->faker->firstName);
$I->fillField(['name' => 'last_name'], $this->faker->lastName);
$I->fillField(['name' => 'address1'], $this->faker->streetAddress);
$I->fillField(['name' => 'address2'], $this->faker->streetAddress);
$I->fillField(['name' => 'city'], $this->faker->city);
$I->fillField(['name' => 'state'], $this->faker->state);
$I->fillField(['name' => 'postal_code'], $this->faker->postcode);
$I->selectDropdown($I, 'United States', '.country-select .dropdown-toggle');
$I->fillField(['name' => 'card_number'], '4242424242424242');
$I->fillField(['name' => 'cvv'], '1234');
$I->selectOption('#expiration_month', 12);
$I->selectOption('#expiration_year', date('Y'));
$I->click('.btn-success');
$I->see('Successfully applied payment');
});
}
示例10: getValueFromArray
protected function getValueFromArray($param)
{
$value = null;
preg_match_all(static::$regEx['array'], $param, $args);
$array = Fixtures::get($args['var'][0]);
if (array_key_exists($args['key'][0], $array)) {
$value = $array[$args['key'][0]];
}
return $value;
}
示例11: sendRequest
private function sendRequest($url, $data, $type = 'POST')
{
$url = Fixtures::get('url') . '/api/v1/' . $url;
$data = json_encode($data);
$curl = curl_init();
$opts = [CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => $type, CURLOPT_POST => $type === 'POST' ? 1 : 0, CURLOPT_POSTFIELDS => $data, CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'Content-Length: ' . strlen($data), 'X-Ninja-Token: ' . $this->token]];
curl_setopt_array($curl, $opts);
$response = curl_exec($curl);
curl_close($curl);
return json_decode($response);
}
示例12: _before
protected function _before()
{
$grav = Fixtures::get('grav');
$this->grav = $grav();
$this->pages = $this->grav['pages'];
$this->grav['config']->set('system.home.alias', '/home');
/** @var UniformResourceLocator $locator */
$locator = $this->grav['locator'];
$locator->addPath('page', '', 'tests/fake/simple-site/user/pages', false);
$this->pages->init();
}
示例13: setUp
/**
* { @inheritdoc }
*/
protected function setUp()
{
parent::setUp();
if (Codeception\Codecept::VERSION >= '2.1.0') {
$this->module = $this->moduleContainer->getModule('\\Codeception\\Module\\Drupal7\\Drupal7');
} else {
$this->module = $this->getModule('\\Codeception\\Module\\Drupal7\\Drupal7');
}
$this->validConfig = Fixtures::get('validModuleConfig');
$this->invalidConfig = Fixtures::get('invalidModuleConfig');
}
示例14: testClassIsInitializedProperly
public function testClassIsInitializedProperly()
{
$this->assertEquals("schema", $this->import->type, "the type is set to 'schema'");
$this->assertEquals("updatedata.csv", $this->import->file, "the file is set to 'updatedata.csv'");
$this->assertEquals(81, $this->import->vocabId, "the vocabid is set to '81'");
$this->assertTrue(is_integer($this->import->vocabId), "the vocabid is an integer");
$this->assertEquals(
Fixtures::get("importFolder")."updatedata.csv",
$this->import->importFolder . $this->import->file,
"the path is set"
);
}
示例15: tryToTest
public function tryToTest(AcceptanceTester $I)
{
$I->wantTo('perform actions and see result');
$I->amOnPage('/');
$I->see('くらしを楽しむライフスタイルグッズ', '.copy');
$shopName = $I->grabFromDatabase('dtb_base_info', 'shop_name');
$I->assertEquals('EC-CUBE3 SHOP', $shopName);
$products = $I->grabFromDatabase('dtb_product', 'status', array('product_id' => 1));
codecept_debug($products);
$bi = Fixtures::get('baseinfo');
codecept_debug($bi->getShopName());
foreach (Fixtures::get('categories') as $category) {
codecept_debug($category->getName());
}
}