Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php use Webkul\Faker\Helpers\Product as ProductFaker; use Webkul\Product\Models\Product..
Decoded Output download
<?php
use Webkul\Faker\Helpers\Product as ProductFaker;
use Webkul\Product\Models\Product;
use Webkul\Product\Models\ProductFlat;
use function Pest\Laravel\deleteJson;
use function Pest\Laravel\postJson;
use function Pest\Laravel\putJson;
it('should fail the validation with errors when certain inputs are not provided when store in simple product', function () {
// Act and Assert.
$this->loginAsAdmin();
postJson(route('admin.catalog.products.store'))
->assertJsonValidationErrorFor('type')
->assertJsonValidationErrorFor('attribute_family_id')
->assertJsonValidationErrorFor('sku')
->assertUnprocessable();
});
it('should return the create page of simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
$productId = $product->id + 1;
// Act and Assert.
$this->loginAsAdmin();
postJson(route('admin.catalog.products.store'), [
'type' => 'simple',
'attribute_family_id' => 1,
'sku' => $sku = fake()->uuid(),
])
->assertOk()
->assertJsonPath('data.redirect_url', route('admin.catalog.products.edit', $productId));
$this->assertModelWise([
Product::class => [
[
'id' => $productId,
'type' => 'simple',
'sku' => $sku,
],
],
]);
});
it('should return the edit page of simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
$this->get(route('admin.catalog.products.edit', $product->id))
->assertOk()
->assertSeeText(trans('admin::app.catalog.products.edit.title'))
->assertSeeText(trans('admin::app.account.edit.back-btn'))
->assertSeeText($product->url_key)
->assertSeeText($product->name)
->assertSeeText($product->short_description)
->assertSeeText($product->description);
});
it('should fail the validation with errors when certain inputs are not provided when update in simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
putJson(route('admin.catalog.products.update', $product->id))
->assertJsonValidationErrorFor('sku')
->assertJsonValidationErrorFor('url_key')
->assertJsonValidationErrorFor('short_description')
->assertJsonValidationErrorFor('description')
->assertJsonValidationErrorFor('name')
->assertJsonValidationErrorFor('price')
->assertJsonValidationErrorFor('weight')
->assertUnprocessable();
});
it('should fail the validation with errors if certain data is not provided correctly in simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
putJson(route('admin.catalog.products.update', $product->id), [
'visible_individually' => $unProcessAble = fake()->word(),
'status' => $unProcessAble,
'guest_checkout' => $unProcessAble,
'new' => $unProcessAble,
'featured' => $unProcessAble,
])
->assertJsonValidationErrorFor('sku')
->assertJsonValidationErrorFor('url_key')
->assertJsonValidationErrorFor('short_description')
->assertJsonValidationErrorFor('description')
->assertJsonValidationErrorFor('name')
->assertJsonValidationErrorFor('price')
->assertJsonValidationErrorFor('weight')
->assertJsonValidationErrorFor('visible_individually')
->assertJsonValidationErrorFor('status')
->assertJsonValidationErrorFor('guest_checkout')
->assertJsonValidationErrorFor('new')
->assertJsonValidationErrorFor('featured')
->assertUnprocessable();
});
it('should update the simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
putJson(route('admin.catalog.products.update', $product->id), $data = [
'sku' => $product->sku,
'url_key' => $product->url_key,
'short_description' => fake()->sentence(),
'description' => fake()->paragraph(),
'name' => fake()->words(3, true),
'price' => fake()->randomFloat(2, 1, 1000),
'weight' => fake()->numberBetween(0, 100),
'channel' => core()->getCurrentChannelCode(),
'locale' => app()->getLocale(),
])
->assertRedirect(route('admin.catalog.products.index'))
->isRedirection();
$this->assertModelWise([
Product::class => [
[
'id' => $product->id,
'type' => $product->type,
'sku' => $product->sku,
],
],
ProductFlat::class => [
[
'product_id' => $product->id,
'url_key' => $product->url_key,
'sku' => $product->sku,
'type' => $product->type,
'name' => $data['name'],
'short_description' => $data['short_description'],
'description' => $data['description'],
'price' => $data['price'],
'weight' => $data['weight'],
'locale' => $data['locale'],
'channel' => $data['channel'],
],
],
]);
});
it('should delete a simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
deleteJson(route('admin.catalog.products.delete', $product->id))
->assertOk()
->assertJsonPath('message', trans('admin::app.catalog.products.delete-success'));
$this->assertDatabaseMissing('products', [
'id' => $product->id,
]);
});
?>
Did this file decode correctly?
Original Code
<?php
use Webkul\Faker\Helpers\Product as ProductFaker;
use Webkul\Product\Models\Product;
use Webkul\Product\Models\ProductFlat;
use function Pest\Laravel\deleteJson;
use function Pest\Laravel\postJson;
use function Pest\Laravel\putJson;
it('should fail the validation with errors when certain inputs are not provided when store in simple product', function () {
// Act and Assert.
$this->loginAsAdmin();
postJson(route('admin.catalog.products.store'))
->assertJsonValidationErrorFor('type')
->assertJsonValidationErrorFor('attribute_family_id')
->assertJsonValidationErrorFor('sku')
->assertUnprocessable();
});
it('should return the create page of simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
$productId = $product->id + 1;
// Act and Assert.
$this->loginAsAdmin();
postJson(route('admin.catalog.products.store'), [
'type' => 'simple',
'attribute_family_id' => 1,
'sku' => $sku = fake()->uuid(),
])
->assertOk()
->assertJsonPath('data.redirect_url', route('admin.catalog.products.edit', $productId));
$this->assertModelWise([
Product::class => [
[
'id' => $productId,
'type' => 'simple',
'sku' => $sku,
],
],
]);
});
it('should return the edit page of simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
$this->get(route('admin.catalog.products.edit', $product->id))
->assertOk()
->assertSeeText(trans('admin::app.catalog.products.edit.title'))
->assertSeeText(trans('admin::app.account.edit.back-btn'))
->assertSeeText($product->url_key)
->assertSeeText($product->name)
->assertSeeText($product->short_description)
->assertSeeText($product->description);
});
it('should fail the validation with errors when certain inputs are not provided when update in simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
putJson(route('admin.catalog.products.update', $product->id))
->assertJsonValidationErrorFor('sku')
->assertJsonValidationErrorFor('url_key')
->assertJsonValidationErrorFor('short_description')
->assertJsonValidationErrorFor('description')
->assertJsonValidationErrorFor('name')
->assertJsonValidationErrorFor('price')
->assertJsonValidationErrorFor('weight')
->assertUnprocessable();
});
it('should fail the validation with errors if certain data is not provided correctly in simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
putJson(route('admin.catalog.products.update', $product->id), [
'visible_individually' => $unProcessAble = fake()->word(),
'status' => $unProcessAble,
'guest_checkout' => $unProcessAble,
'new' => $unProcessAble,
'featured' => $unProcessAble,
])
->assertJsonValidationErrorFor('sku')
->assertJsonValidationErrorFor('url_key')
->assertJsonValidationErrorFor('short_description')
->assertJsonValidationErrorFor('description')
->assertJsonValidationErrorFor('name')
->assertJsonValidationErrorFor('price')
->assertJsonValidationErrorFor('weight')
->assertJsonValidationErrorFor('visible_individually')
->assertJsonValidationErrorFor('status')
->assertJsonValidationErrorFor('guest_checkout')
->assertJsonValidationErrorFor('new')
->assertJsonValidationErrorFor('featured')
->assertUnprocessable();
});
it('should update the simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
putJson(route('admin.catalog.products.update', $product->id), $data = [
'sku' => $product->sku,
'url_key' => $product->url_key,
'short_description' => fake()->sentence(),
'description' => fake()->paragraph(),
'name' => fake()->words(3, true),
'price' => fake()->randomFloat(2, 1, 1000),
'weight' => fake()->numberBetween(0, 100),
'channel' => core()->getCurrentChannelCode(),
'locale' => app()->getLocale(),
])
->assertRedirect(route('admin.catalog.products.index'))
->isRedirection();
$this->assertModelWise([
Product::class => [
[
'id' => $product->id,
'type' => $product->type,
'sku' => $product->sku,
],
],
ProductFlat::class => [
[
'product_id' => $product->id,
'url_key' => $product->url_key,
'sku' => $product->sku,
'type' => $product->type,
'name' => $data['name'],
'short_description' => $data['short_description'],
'description' => $data['description'],
'price' => $data['price'],
'weight' => $data['weight'],
'locale' => $data['locale'],
'channel' => $data['channel'],
],
],
]);
});
it('should delete a simple product', function () {
// Arrange.
$product = (new ProductFaker())->getSimpleProductFactory()->create();
// Act and Assert.
$this->loginAsAdmin();
deleteJson(route('admin.catalog.products.delete', $product->id))
->assertOk()
->assertJsonPath('message', trans('admin::app.catalog.products.delete-success'));
$this->assertDatabaseMissing('products', [
'id' => $product->id,
]);
});
Function Calls
None |
Stats
MD5 | 297b4fac4af07fe74368e8521e6fe6ff |
Eval Count | 0 |
Decode Time | 113 ms |