-
Notifications
You must be signed in to change notification settings - Fork 132
/
Copy pathMagentoFakerData.php
124 lines (114 loc) · 4.21 KB
/
MagentoFakerData.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\FunctionalTestingFramework\Helper;
/**
* Class MagentoFakerData
*/
class MagentoFakerData extends \Codeception\Module
{
/**
* Get Customer data.
*
* @param array $additional
* @return array
*/
public function getCustomerData(array $additional = [])
{
$faker = \Faker\Factory::create();
$customerData = [
'prefix' => $faker->title,
'firstname' => $faker->firstName,
'middlename' => $faker->firstName,
'lastname' => $faker->lastName,
'suffix' => \Faker\Provider\en_US\Person::suffix(),
'email' => $faker->email,
'dateOfBirth' => $faker->date($format = 'm/d/Y', $max = 'now'),
'gender' => rand(0, 1),
'group_id' => 1,
'store_id' => 1,
'website_id' => 1,
'taxVatNumber' => \Faker\Provider\at_AT\Payment::vat(),
'company' => $faker->company,
'phoneNumber' => $faker->phoneNumber,
'address' => [
'address1' => $faker->streetAddress,
'address2' => $faker->streetAddress,
'city' => $faker->city,
'country' => 'United States',
'state' => \Faker\Provider\en_US\Address::state(),
'zipCode' => $faker->postcode
]
];
return array_merge($customerData, $additional);
}
/**
* Get category data.
*
* @return array
*/
public function getCategoryData()
{
$faker = \Faker\Factory::create();
return [
'enableCategory' => $faker->boolean(),
'includeInMenu' => $faker->boolean(),
'categoryName' => $faker->md5,
'categoryImage' => '',
'description' => $faker->sentence($nbWords = 10, $variableNbWords = true),
'addCMSBlock' => '',
'urlKey' => $faker->uuid,
'metaTitle' => $faker->word,
'metaKeywords' => $faker->sentence($nbWords = 5, $variableNbWords = true),
'metaDescription' => $faker->sentence($nbWords = 10, $variableNbWords = true),
];
}
/**
* Get simple product data.
*
* @param integer $categoryId
* @param array $productData
* @return array
*/
public function getProductData($categoryId = 0, $productData = [])
{
$faker = \Faker\Factory::create();
return [
'enableProduct' => $faker->boolean(),
'attributeSet' => '',
'productName' => $faker->text($maxNbChars = 20),
'sku' => \Faker\Provider\DateTime::unixTime($max = 'now'),
'price' => $faker->randomFloat($nbMaxDecimals = 2, $min = 0, $max = 999),
'quantity' => $faker->numberBetween($min = 1, $max = 999),
'urlKey' => $faker->uuid,
'metaTitle' => $faker->word,
'metaKeywords' => $faker->sentence($nbWords = 5, $variableNbWords = true),
'metaDescription' => $faker->sentence($nbWords = 10, $variableNbWords = true)
];
}
/**
* Get Content Page Data.
*
* @return array
*/
public function getContentPage()
{
$faker = \Faker\Factory::create();
$pageContent = [
'pageTitle' => $faker->sentence($nbWords = 3, $variableNbWords = true),
'contentHeading' => $faker->sentence($nbWords = 3, $variableNbWords = true),
'contentBody' => $faker->sentence($nbWords = 10, $variableNbWords = true),
'urlKey' => $faker->uuid,
'metaTitle' => $faker->word,
'metaKeywords' => $faker->sentence($nbWords = 5, $variableNbWords = true),
'metaDescription' => $faker->sentence($nbWords = 10, $variableNbWords = true),
'from' => $faker->date($format = 'm/d/Y', $max = 'now'),
'to' => $faker->date($format = 'm/d/Y')
];
$pageContent['layoutUpdateXml'] = "<note><to>Tove</to><from>Jani</from><heading>Reminder</heading>";
$pageContent['layoutUpdateXml'] .= "<body>Don't forget me this weekend!</body></note>";
return $pageContent;
}
}