} catch (Exception $e) {
    throw new sfException('Variations could not be added! Please check.');
}
// Stocks
try {
    $stock1 = new rtShopStock();
    $stock1->setProductId($prod1->getId());
    $stock1->setQuantity(5);
    $stock1->setSku(mt_rand(1, 100000));
    $stock1->setPriceRetail(40);
    $stock1->save();
    $stock2 = new rtShopStock();
    $stock2->setProductId($prod2->getId());
    $stock2->setQuantity(5);
    $stock2->setSku(mt_rand(1, 100000));
    $stock2->setPriceRetail(40);
    $stock2->setPricePromotion(30);
    $stock2->save();
} catch (Exception $e) {
    throw new sfException('Stocks could not be added! Please check.');
}
// Stock to variation
try {
    $stock1tovar1 = new rtShopStockToVariation();
    $stock1tovar1->setStockId($stock1->getId());
    $stock1tovar1->setVariationId($var1->getId());
    $stock1tovar1->save();
    $stock1tovar2 = new rtShopStockToVariation();
    $stock1tovar2->setStockId($stock1->getId());
    $stock1tovar2->setVariationId($var2->getId());
    $stock1tovar2->save();
} catch (Exception $e) {
    $t->fail('->save() on a rtShopVariation failed!');
}
// Add stocks
try {
    $stock1 = new rtShopStock();
    $stock1->setProductId($prod1->getId());
    $stock1->setQuantity(5);
    $stock1->setSku(mt_rand(1, 10000));
    $stock1->setPriceRetail(100);
    $stock1->save();
    $stock2 = new rtShopStock();
    $stock2->setProductId($prod2->getId());
    $stock2->setQuantity(5);
    $stock2->setSku(mt_rand(1, 10000));
    $stock2->setPriceRetail(200);
    $stock2->save();
    $t->pass('->save() on a rtShopStock object works');
} catch (Exception $e) {
    $t->fail('->save() on a rtShopStock failed!');
}
// Add stock to variation
try {
    $stock1tovar1 = new rtShopStockToVariation();
    $stock1tovar1->setStockId($stock1->getId());
    $stock1tovar1->setVariationId($var1->getId());
    $stock1tovar1->save();
    $stock1tovar3 = new rtShopStockToVariation();
    $stock1tovar3->setStockId($stock1->getId());
    $stock1tovar3->setVariationId($var3->getId());
    $stock1tovar3->save();
    $stock1->setQuantity(5);
    $stock1->setSku(mt_rand(1, 100000));
    $stock1->setPriceRetail(40);
    $stock1->save();
    $stock2 = new rtShopStock();
    $stock2->setProductId($prod2->getId());
    $stock2->setQuantity(5);
    $stock2->setSku(mt_rand(1, 100000));
    $stock2->setPriceRetail(40);
    $stock2->setPricePromotion(30);
    $stock2->save();
    $stock3 = new rtShopStock();
    $stock3->setProductId($prod3->getId());
    $stock3->setQuantity(5);
    $stock3->setSku(mt_rand(1, 100000));
    $stock3->setPriceRetail(40);
    $stock3->save();
} catch (Exception $e) {
    throw new sfException('Stocks could not be added! Please check.');
}
try {
    $stock1tovar1 = new rtShopStockToVariation();
    $stock1tovar1->setStockId($stock1->getId());
    $stock1tovar1->setVariationId($var1->getId());
    $stock1tovar1->save();
    $stock1tovar2 = new rtShopStockToVariation();
    $stock1tovar2->setStockId($stock1->getId());
    $stock1tovar2->setVariationId($var2->getId());
    $stock1tovar2->save();
    $stock2tovar1 = new rtShopStockToVariation();
    $stock2tovar1->setStockId($stock2->getId());
    $stock5->setSku(mt_rand(1, 100000));
    $stock5->setPriceRetail(40);
    $stock5->setPricePromotion(30);
    $stock5->save();
    $stock6 = new rtShopStock();
    $stock6->setProductId($prod6->getId());
    $stock6->setQuantity(5);
    $stock6->setSku(mt_rand(1, 100000));
    $stock6->setPriceRetail(40);
    $stock6->setPricePromotion(30);
    $stock6->save();
    $stock7 = new rtShopStock();
    $stock7->setProductId($prod7->getId());
    $stock7->setQuantity(5);
    $stock7->setSku(mt_rand(1, 100000));
    $stock7->setPriceRetail(40);
    $stock7->setPricePromotion(38);
    $stock7->save();
} catch (Exception $e) {
    throw new sfException('Stocks could not be added! Please check.');
}
try {
    $stock1tovar1 = new rtShopStockToVariation();
    $stock1tovar1->setStockId($stock1->getId());
    $stock1tovar1->setVariationId($var1->getId());
    $stock1tovar1->save();
    $stock1tovar2 = new rtShopStockToVariation();
    $stock1tovar2->setStockId($stock1->getId());
    $stock1tovar2->setVariationId($var2->getId());
    $stock1tovar2->save();
    $stock2tovar1 = new rtShopStockToVariation();
    $var2->save();
} catch (Exception $e) {
    throw new sfException('Variations could not be added! Please check.');
}
try {
    $stock1 = new rtShopStock();
    $stock1->setProductId($prod1->getId());
    $stock1->setQuantity(5);
    $stock1->setSku(mt_rand(1, 100000));
    $stock1->setPriceRetail(50);
    $stock1->save();
    $stock2 = new rtShopStock();
    $stock2->setProductId($prod2->getId());
    $stock2->setQuantity(5);
    $stock2->setSku(mt_rand(1, 100000));
    $stock2->setPriceRetail(50);
    $stock2->setPricePromotion(30);
    $stock2->save();
} catch (Exception $e) {
    throw new sfException('Stocks could not be added! Please check.');
}
try {
    $stock1tovar1 = new rtShopStockToVariation();
    $stock1tovar1->setStockId($stock1->getId());
    $stock1tovar1->setVariationId($var1->getId());
    $stock1tovar1->save();
    $stock1tovar2 = new rtShopStockToVariation();
    $stock1tovar2->setStockId($stock1->getId());
    $stock1tovar2->setVariationId($var2->getId());
    $stock1tovar2->save();
    $stock2tovar1 = new rtShopStockToVariation();