sarga/tests/functional/Product/ProductCopyCest.php

87 lines
2.5 KiB
PHP
Raw Normal View History

2020-07-30 12:15:54 +00:00
<?php
namespace Tests\Functional\Product;
use FunctionalTester;
use Webkul\Product\Models\Product;
use Webkul\Product\Models\ProductFlat;
use Webkul\Core\Helpers\Laravel5Helper;
use Webkul\Product\Models\ProductInventory;
use Webkul\Product\Models\ProductAttributeValue;
class ProductCopyCest
{
public function testProductCopy(FunctionalTester $I)
{
$I->loginAsAdmin();
$originalName = $I->fake()->name;
$original = $I->haveProduct(Laravel5Helper::SIMPLE_PRODUCT, [
'productInventory' => [
'qty' => 10,
],
'attributeValues' => [
'name' => $originalName,
],
]);
$count = count(Product::all());
$I->amOnAdminRoute('admin.catalog.products.copy', ['id' => $original->id], false);
$copiedProduct = $I->grabRecord(Product::class, [
'id' => $original->id + 1,
'parent_id' => $original->parent_id,
'attribute_family_id' => $original->attribute_family_id,
]);
$attr = $I->grabRecord(ProductAttributeValue::class, [
2020-07-30 12:15:54 +00:00
'attribute_id' => 2,
'product_id' => $copiedProduct->id,
]);
$I->assertStringStartsWith('Copy of ' . $originalName, $attr->text_value);
2020-07-30 12:15:54 +00:00
// url_key
$attr = $I->grabRecord(ProductAttributeValue::class, [
2020-07-30 12:15:54 +00:00
'attribute_id' => 3,
'product_id' => $copiedProduct->id,
]);
$I->assertStringStartsWith('copy-of-' . $original->url_key, $attr->text_value);
2020-07-30 12:15:54 +00:00
// sku
$I->seeRecord(ProductAttributeValue::class, [
'attribute_id' => 1,
'product_id' => $copiedProduct->id,
]);
// sku
$I->dontSeeRecord(ProductAttributeValue::class, [
'attribute_id' => 1,
'product_id' => $copiedProduct->id,
'text_value' => $original->sku,
]);
// status
$I->seeRecord(ProductAttributeValue::class, [
'attribute_id' => 8,
'boolean_value' => 0,
]);
$I->seeRecord(ProductInventory::class, [
'product_id' => $copiedProduct->id,
'qty' => 10,
]);
$flat = $I->grabRecord(ProductFlat::class, [
2020-07-30 12:15:54 +00:00
'product_id' => $copiedProduct->id,
]);
$I->assertStringStartsWith('Copy of ' . $originalName, $flat->name);
2020-07-30 12:15:54 +00:00
$I->assertCount($count + 1, Product::all());
$I->seeResponseCodeIsSuccessful();
}
}