Esempio n. 1
0
 /**
  * Generates products and product reviews
  *
  * @param $count
  * @param $categories
  * @return bool
  */
 public function insertProducts($count, $categories)
 {
     Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
     $faker = new Faker\Generator();
     $faker->addProvider(new Faker\Provider\en_US\Person($faker));
     $faker->addProvider(new Faker\Provider\Lorem($faker));
     $faker->addProvider(new Faker\Provider\Ecommerce($faker));
     $rating_options = array(1 => array(1, 2, 3, 4, 5), 2 => array(6, 7, 8, 9, 10), 3 => array(11, 12, 13, 14, 15));
     for ($i = 0; $i < $count; $i++) {
         $product = Mage::getModel('catalog/product');
         $name = $faker->productName;
         $sku = $faker->sku($name);
         $price = $faker->price;
         try {
             $product->setWebsiteIds(array(1))->setAttributeSetId(4)->setTypeId('simple')->setCreatedAt(strtotime('now'))->setSku($sku)->setName($name)->setUrlKey($name . '-' . $sku)->setCategoryIds($categories)->setWeight($faker->weight)->setStatus(1)->setTaxClassId(0)->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)->setNewsFromDate(strtotime('now'))->setNewsToDate(strtotime("+1 week"))->setCountryOfManufacture('NL')->setPrice($price)->setCost($price * 0.66)->setMsrpEnabled(1)->setMsrpDisplayActualPriceType(4)->setMsrp($price)->setMetaTitle($name)->setMetaKeyword($faker->metaKeys)->setMetaDescription($faker->metaDescription)->setDescription($faker->description)->setShortDescription($faker->shortDescription)->setMediaGallery(array('images' => array(), 'values' => array()))->addImageToMediaGallery($faker->productImage, array('image', 'thumbnail', 'small_image'), false, false)->addImageToMediaGallery($faker->productImage, array(), false, false)->addImageToMediaGallery($faker->productImage, array(), false, false)->setStockData(array('use_config_manage_stock' => 1, 'manage_stock' => 1, 'min_sale_qty' => 1, 'max_sale_qty' => 99, 'is_in_stock' => 1, 'qty' => 999));
             $product->save();
             $new_productId = $product->getId();
             $reviewCount = mt_rand(0, 15);
             for ($y = 0; $y < $reviewCount; $y++) {
                 $review = Mage::getModel('review/review');
                 $review->setEntityPkValue($new_productId);
                 $review->setStatusId(1);
                 // approved
                 $review->setTitle($faker->sentence(3));
                 $review->setDetail($faker->sentence(mt_rand(3, 10)));
                 $review->setEntityId(1);
                 $review->setStoreId(0);
                 $review->setCustomerId(null);
                 $review->setNickname($faker->name);
                 $review->setReviewId($review->getId());
                 $review->setStores(array(0, 1));
                 $review->save();
                 foreach ($rating_options as $rating_id => $option_ids) {
                     $stars = mt_rand(1, 3);
                     Mage::getModel('rating/rating')->setRatingId($rating_id)->setReviewId($review->getId())->addOptionVote($option_ids[$stars], $new_productId);
                 }
                 $review->aggregate();
             }
         } catch (Exception $e) {
             Mage::logException($e);
             return false;
         }
     }
     return true;
 }
Esempio n. 2
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $categoryLeaves = Category::where("real_depth", '=', 2)->get()->toArray();
     $faker = new Faker\Generator();
     $faker->addProvider(new Faker\Provider\Lorem($faker));
     $users = User::all();
     foreach ($users as $user) {
         for ($i = 0; $i < $this->numPatches(); $i++) {
             $category = $categoryLeaves[array_rand($categoryLeaves)];
             $patch = Patch::create(["name" => $faker->sentence(6, true), "user_id" => $user->id, "description" => $faker->paragraph(3, true), "category_id" => $category["id"]]);
             $this->generateDownloads($users, $patch);
             $this->generateVotes($users, $patch);
         }
     }
 }
Esempio n. 3
0
function title(Faker\Generator $faker)
{
    $sentence = $faker->sentence(3);
    return substr($sentence, 0, strlen($sentence) - 1);
}
 public function testSentence()
 {
     $faker = new Faker\Generator();
     $faker->addProvider(new EddyMalouProvider($faker));
     $this->assertNotEmpty($faker->sentence());
 }