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 Illuminate\Support\Fluent; use PHPUnit\Framework\TestCase; use Reliese\Coders\M..
Decoded Output download
<?php
use Illuminate\Support\Fluent;
use PHPUnit\Framework\TestCase;
use Reliese\Coders\Model\Model;
use Reliese\Coders\Model\Relations\BelongsTo;
class BelongsToTest extends TestCase
{
public function provideForeignKeyStrategyPermutations()
{
// usesSnakeAttributes, primaryKey, foreignKey, expected
return [
// columns use camelCase
[false, 'id', 'lineManagerId', 'lineManager'],
[false, 'Id', 'lineManagerId', 'lineManager'],
[false, 'ID', 'lineManagerID', 'lineManager'],
// columns use snake_case
[true, 'id', 'line_manager_id', 'line_manager'],
[true, 'ID', 'line_manager_id', 'line_manager'],
// foreign keys without primary key suffix
[false, 'id', 'lineManager', 'lineManager'],
[true, 'id', 'line_manager', 'line_manager'],
];
}
/**
* @dataProvider provideForeignKeyStrategyPermutations
*
* @param bool $usesSnakeAttributes
* @param string $primaryKey
* @param string $foreignKey
* @param string $expected
*/
public function testNameUsingForeignKeyStrategy($usesSnakeAttributes, $primaryKey, $foreignKey, $expected)
{
$relation = Mockery::mock(Fluent::class)->makePartial();
$relatedModel = Mockery::mock(Model::class)->makePartial();
$subject = Mockery::mock(Model::class)->makePartial();
$subject->shouldReceive('getRelationNameStrategy')->andReturn('foreign_key');
$subject->shouldReceive('usesSnakeAttributes')->andReturn($usesSnakeAttributes);
/** @var BelongsTo|\Mockery\Mock $relationship */
$relationship = Mockery::mock(BelongsTo::class, [$relation, $subject, $relatedModel])->makePartial();
$relationship->shouldAllowMockingProtectedMethods();
$relationship->shouldReceive('otherKey')->andReturn($primaryKey);
$relationship->shouldReceive('foreignKey')->andReturn($foreignKey);
$this->assertEquals(
$expected,
$relationship->name(),
json_encode(compact('usesSnakeAttributes', 'primaryKey', 'foreignKey'))
);
}
public function provideRelatedStrategyPermutations()
{
// usesSnakeAttributes, relatedClassName, expected
return [
[false, 'LineManager', 'lineManager'],
[true, 'LineManager', 'line_manager'],
];
}
/**
* @dataProvider provideRelatedStrategyPermutations
*
* @param bool $usesSnakeAttributes
* @param string $relatedClassName
* @param string $expected
*/
public function testNameUsingRelatedStrategy($usesSnakeAttributes, $relatedClassName, $expected)
{
$relation = Mockery::mock(Fluent::class)->makePartial();
$relatedModel = Mockery::mock(Model::class)->makePartial();
$relatedModel->shouldReceive('getClassName')->andReturn($relatedClassName);
$subject = Mockery::mock(Model::class)->makePartial();
$subject->shouldReceive('getRelationNameStrategy')->andReturn('related');
$subject->shouldReceive('usesSnakeAttributes')->andReturn($usesSnakeAttributes);
/** @var BelongsTo|\Mockery\Mock $relationship */
$relationship = Mockery::mock(BelongsTo::class, [$relation, $subject, $relatedModel])->makePartial();
$this->assertEquals(
$expected,
$relationship->name(),
json_encode(compact('usesSnakeAttributes', 'relatedClassName'))
);
}
}
?>
Did this file decode correctly?
Original Code
<?php
use Illuminate\Support\Fluent;
use PHPUnit\Framework\TestCase;
use Reliese\Coders\Model\Model;
use Reliese\Coders\Model\Relations\BelongsTo;
class BelongsToTest extends TestCase
{
public function provideForeignKeyStrategyPermutations()
{
// usesSnakeAttributes, primaryKey, foreignKey, expected
return [
// columns use camelCase
[false, 'id', 'lineManagerId', 'lineManager'],
[false, 'Id', 'lineManagerId', 'lineManager'],
[false, 'ID', 'lineManagerID', 'lineManager'],
// columns use snake_case
[true, 'id', 'line_manager_id', 'line_manager'],
[true, 'ID', 'line_manager_id', 'line_manager'],
// foreign keys without primary key suffix
[false, 'id', 'lineManager', 'lineManager'],
[true, 'id', 'line_manager', 'line_manager'],
];
}
/**
* @dataProvider provideForeignKeyStrategyPermutations
*
* @param bool $usesSnakeAttributes
* @param string $primaryKey
* @param string $foreignKey
* @param string $expected
*/
public function testNameUsingForeignKeyStrategy($usesSnakeAttributes, $primaryKey, $foreignKey, $expected)
{
$relation = Mockery::mock(Fluent::class)->makePartial();
$relatedModel = Mockery::mock(Model::class)->makePartial();
$subject = Mockery::mock(Model::class)->makePartial();
$subject->shouldReceive('getRelationNameStrategy')->andReturn('foreign_key');
$subject->shouldReceive('usesSnakeAttributes')->andReturn($usesSnakeAttributes);
/** @var BelongsTo|\Mockery\Mock $relationship */
$relationship = Mockery::mock(BelongsTo::class, [$relation, $subject, $relatedModel])->makePartial();
$relationship->shouldAllowMockingProtectedMethods();
$relationship->shouldReceive('otherKey')->andReturn($primaryKey);
$relationship->shouldReceive('foreignKey')->andReturn($foreignKey);
$this->assertEquals(
$expected,
$relationship->name(),
json_encode(compact('usesSnakeAttributes', 'primaryKey', 'foreignKey'))
);
}
public function provideRelatedStrategyPermutations()
{
// usesSnakeAttributes, relatedClassName, expected
return [
[false, 'LineManager', 'lineManager'],
[true, 'LineManager', 'line_manager'],
];
}
/**
* @dataProvider provideRelatedStrategyPermutations
*
* @param bool $usesSnakeAttributes
* @param string $relatedClassName
* @param string $expected
*/
public function testNameUsingRelatedStrategy($usesSnakeAttributes, $relatedClassName, $expected)
{
$relation = Mockery::mock(Fluent::class)->makePartial();
$relatedModel = Mockery::mock(Model::class)->makePartial();
$relatedModel->shouldReceive('getClassName')->andReturn($relatedClassName);
$subject = Mockery::mock(Model::class)->makePartial();
$subject->shouldReceive('getRelationNameStrategy')->andReturn('related');
$subject->shouldReceive('usesSnakeAttributes')->andReturn($usesSnakeAttributes);
/** @var BelongsTo|\Mockery\Mock $relationship */
$relationship = Mockery::mock(BelongsTo::class, [$relation, $subject, $relatedModel])->makePartial();
$this->assertEquals(
$expected,
$relationship->name(),
json_encode(compact('usesSnakeAttributes', 'relatedClassName'))
);
}
}
Function Calls
None |
Stats
MD5 | 93548cac3210183e8b95508529d91de8 |
Eval Count | 0 |
Decode Time | 92 ms |