Skip to content

Commit d9dfeed

Browse files
authored
Merge pull request #4778 from Laravel-Backpack/add-more-tests
Add tests
2 parents 017c584 + 73f6f36 commit d9dfeed

21 files changed

+855
-351
lines changed

phpunit.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
<testsuite name="Package Test Suite">
1414
<directory suffix=".php">./tests/</directory>
1515
<file phpVersion="8.1.0" phpVersionOperator=">=">./tests81/Unit/CrudPanel/CrudPanelUpdateTest.php</file>
16+
<file phpVersion="8.1.0" phpVersionOperator=">=">./tests81/Unit/CrudPanel/CrudPanelFieldsTest.php</file>
1617
</testsuite>
1718
</testsuites>
1819
<filter>

src/app/Library/CrudPanel/Traits/FieldsProtectedMethods.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,15 +242,11 @@ protected function inferFieldTypeFromRelationType($relationType)
242242
switch ($relationType) {
243243
case 'BelongsTo':
244244
return 'select';
245-
break;
246-
247245
case 'BelongsToMany':
248246
case 'MorphToMany':
249247
return 'select_multiple';
250-
251248
default:
252249
return 'text';
253-
break;
254250
}
255251
}
256252

src/app/Library/CrudPanel/Traits/Relationships.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,6 @@ public function guessIfFieldHasMultipleFromRelationType($relation_type)
209209
case 'MorphOneOrMany':
210210
case 'MorphToMany':
211211
return true;
212-
213212
default:
214213
return false;
215214
}
@@ -228,7 +227,6 @@ public function guessIfFieldHasPivotFromRelationType($relation_type)
228227
case 'HasManyThrough':
229228
case 'MorphToMany':
230229
return true;
231-
break;
232230
default:
233231
return false;
234232
}

src/helpers.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ function backpack_form_input()
6161
// regular fields don't need any aditional parsing
6262
if (strpos($row['name'], '[') === false) {
6363
$result[$row['name']] = $row['value'];
64+
6465
continue;
6566
}
6667

@@ -87,6 +88,7 @@ function backpack_form_input()
8788

8889
if (isset($repeatableRowKey)) {
8990
$result[$parentInputName][$repeatableRowKey][$inputName] = $row['value'];
91+
9092
continue;
9193
}
9294

@@ -306,6 +308,9 @@ function is_multidimensional_array(array $array)
306308
*/
307309
function backpack_pro()
308310
{
311+
if (app()->runningUnitTests()) {
312+
return true;
313+
}
309314
if (! \Composer\InstalledVersions::isInstalled('backpack/pro')) {
310315
return false;
311316
}

tests/BaseTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,14 @@ protected function getPackageProviders($app)
2323
BackpackServiceProvider::class,
2424
];
2525
}
26+
27+
// allow us to run crud panel private/protected methods like `inferFieldTypeFromDbColumnType`
28+
public function invokeMethod(&$object, $methodName, array $parameters = [])
29+
{
30+
$reflection = new \ReflectionClass(get_class($object));
31+
$method = $reflection->getMethod($methodName);
32+
$method->setAccessible(true);
33+
34+
return $method->invokeArgs($object, $parameters);
35+
}
2636
}

tests/Unit/CrudPanel/CrudPanelAutoSetTest.php

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -868,14 +868,4 @@ public function testSetDoctrineTypesMapping()
868868
$type = $new_model_db_platform->getDoctrineTypeMapping('enum');
869869
$this->assertEquals('string', $type);
870870
}
871-
872-
// allow us to run crud panel private/protected methods like `inferFieldTypeFromDbColumnType`
873-
public function invokeMethod(&$object, $methodName, array $parameters = [])
874-
{
875-
$reflection = new \ReflectionClass(get_class($object));
876-
$method = $reflection->getMethod($methodName);
877-
$method->setAccessible(true);
878-
879-
return $method->invokeArgs($object, $parameters);
880-
}
881871
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace Backpack\CRUD\Tests\Unit\CrudPanel;
4+
5+
/**
6+
* @covers Backpack\CRUD\app\Library\CrudPanel\Traits\Autofocus
7+
*/
8+
class CrudPanelAutofocusTest extends BaseCrudPanelTest
9+
{
10+
public function testItCanEnableAndDisableAutofocus()
11+
{
12+
$this->crudPanel->setOperation('create');
13+
$this->crudPanel->enableAutoFocus();
14+
$this->assertTrue($this->crudPanel->getAutoFocusOnFirstField());
15+
$this->crudPanel->disableAutofocus();
16+
$this->assertFalse($this->crudPanel->getAutoFocusOnFirstField());
17+
}
18+
}

0 commit comments

Comments
 (0)