Skip to content

Commit

Permalink
Merge branch 'shift-111483' into laravel-11
Browse files Browse the repository at this point in the history
  • Loading branch information
glorand committed Mar 13, 2024
2 parents cd7dadc + 3103898 commit 6fbaf32
Show file tree
Hide file tree
Showing 11 changed files with 73 additions and 104 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ vendor/
/.idea
.php_cs.cache
composer.lock
/.phpunit.result.cache
/.phpunit.cache
# Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
# composer.lock
103 changes: 36 additions & 67 deletions tests/CommonFunctionalityTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

namespace Glorand\Model\Settings\Tests;

use PHPUnit\Framework\Attributes\DataProvider;
use Glorand\Model\Settings\Traits\HasSettingsField;
use Glorand\Model\Settings\Traits\HasSettingsRedis;
use Glorand\Model\Settings\Traits\HasSettingsTable;
use Illuminate\Support\Facades\Redis;
use Illuminate\Validation\ValidationException;
use Lunaweb\RedisMock\MockPredisConnection;

class CommonFunctionalityTest extends TestCase
final class CommonFunctionalityTest extends TestCase
{
/** @var string[] */
protected $modelTypes = [
Expand Down Expand Up @@ -52,12 +53,12 @@ class CommonFunctionalityTest extends TestCase
'user.age' => 'integer',
];

public function setUp(): void
protected function setUp(): void
{
parent::setUp();
}

public function modelTypesProvider(): array
public static function modelTypesProvider(): array
{
$modelTypes = [];
foreach ($this->modelTypes as $modelType) {
Expand All @@ -67,7 +68,7 @@ public function modelTypesProvider(): array
return $modelTypes;
}

public function testInit()
public function testInit(): void
{
$traits = class_uses($this->getModelByType('redis'));
$this->assertTrue(array_key_exists(HasSettingsRedis::class, $traits));
Expand All @@ -84,9 +85,7 @@ public function testInit()
$this->assertInstanceOf(MockPredisConnection::class, Redis::connection());
}

/**
* @dataProvider modelTypesProvider
*/
#[DataProvider('modelTypesProvider')]
public function testEmpty(string $modelType): void
{
$model = $this->getModelByType($modelType);
Expand All @@ -95,21 +94,17 @@ public function testEmpty(string $modelType): void
$this->assertFalse($model->settings()->apply($this->testArray)->empty());
}

/**
* @dataProvider modelTypesProvider
*/
public function testExist(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testExist(string $modelType): void
{
$model = $this->getModelByType($modelType);

$this->assertFalse($model->settings()->clear()->exist());
$this->assertTrue($model->settings()->apply($this->testArray)->exist());
}

/**
* @dataProvider modelTypesProvider
*/
public function testHas(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testHas(string $modelType): void
{
$model = $this->getModelByType($modelType);

Expand All @@ -122,10 +117,8 @@ public function testHas(string $modelType)
$this->assertFalse($model->settings()->has('user.role'));
}

/**
* @dataProvider modelTypesProvider
*/
public function testAll(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testAll(string $modelType): void
{
$model = $this->getModelByType($modelType);

Expand All @@ -140,10 +133,8 @@ public function testAll(string $modelType)
);
}

/**
* @dataProvider modelTypesProvider
*/
public function testGet(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testGet(string $modelType): void
{
$model = $this->getModelByType($modelType);
$model->settings()->clear();
Expand All @@ -153,10 +144,8 @@ public function testGet(string $modelType)
$this->assertEquals('John', $model->settings()->get('user.first_name'));
}

/**
* @dataProvider modelTypesProvider
*/
public function testGetMultiple(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testGetMultiple(string $modelType): void
{
$model = $this->getModelByType($modelType);

Expand Down Expand Up @@ -195,20 +184,16 @@ public function testGetMultiple(string $modelType)
);
}

/**
* @dataProvider modelTypesProvider
*/
public function testApply(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testApply(string $modelType): void
{
$model = $this->getModelByType($modelType);
$model->settings()->apply($this->testArray);
$this->assertEquals($this->testArray, $model->fresh()->settings()->all());
}

/**
* @dataProvider modelTypesProvider
*/
public function testUpdate(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testUpdate(string $modelType): void
{
$model = $this->getModelByType($modelType);

Expand All @@ -222,10 +207,8 @@ public function testUpdate(string $modelType)
$this->assertEquals(['user' => ['age' => 19]], $model->settings()->all());
}

/**
* @dataProvider modelTypesProvider
*/
public function testSet(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testSet(string $modelType): void
{
$model = $this->getModelByType($modelType);

Expand All @@ -236,10 +219,8 @@ public function testSet(string $modelType)
$this->assertEquals(['user' => ['age' => 18]], $model->settings()->all());
}

/**
* @dataProvider modelTypesProvider
*/
public function testSetMultiple(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testSetMultiple(string $modelType): void
{
$model = $this->getModelByType($modelType);

Expand All @@ -259,10 +240,8 @@ public function testSetMultiple(string $modelType)
);
}

/**
* @dataProvider modelTypesProvider
*/
public function testClear(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testClear(string $modelType): void
{
$model = $this->getModelByType($modelType);

Expand All @@ -273,10 +252,8 @@ public function testClear(string $modelType)
$this->assertEquals([], $model->settings()->all());
}

/**
* @dataProvider modelTypesProvider
*/
public function testDelete(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testDelete(string $modelType): void
{
$model = $this->getModelByType($modelType);
$model->settings()->apply($this->testArray);
Expand All @@ -291,10 +268,8 @@ public function testDelete(string $modelType)
$this->assertEquals([], $model->settings()->all());
}

/**
* @dataProvider modelTypesProvider
*/
public function testDeleteMultiple(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testDeleteMultiple(string $modelType): void
{
$model = $this->getModelByType($modelType);
$model->settings()->apply($this->testArray);
Expand All @@ -307,10 +282,8 @@ public function testDeleteMultiple(string $modelType)
$this->assertArrayHasKey('email', $testData);
}

/**
* @dataProvider modelTypesProvider
*/
public function testDefaultValue(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testDefaultValue(string $modelType): void
{
$model = $this->getModelByType($modelType);
$model->settings()->clear();
Expand Down Expand Up @@ -356,10 +329,8 @@ public function testDefaultValue(string $modelType)
);
}

/**
* @dataProvider modelTypesProvider
*/
public function testDefaultValueFromConfig(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testDefaultValueFromConfig(string $modelType): void
{
$model = $this->getModelByType($modelType);

Expand All @@ -377,10 +348,8 @@ public function testDefaultValueFromConfig(string $modelType)
);
}

/**
* @dataProvider modelTypesProvider
*/
public function testValidateData(string $modelType)
#[DataProvider('modelTypesProvider')]
public function testValidateData(string $modelType): void
{
$model = $this->getModelByType($modelType);
$model->settingsRules = $this->rules;
Expand Down
10 changes: 5 additions & 5 deletions tests/CreateSettingsFieldForModelConsoleTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

namespace Glorand\Model\Settings\Tests;

class CreateSettingsFieldForModelConsoleTest extends TestCase
final class CreateSettingsFieldForModelConsoleTest extends TestCase
{
private $table = 'users_with_field';
private $fieldName = 'custom_settings_field';
private $alreadyExistsFieldName = 'settings';

public function testEmptyTable()
public function testEmptyTable(): void
{
if (version_compare(PHP_VERSION, '8.0', '>=')) {
$this->markTestAsPassed();
Expand All @@ -19,7 +19,7 @@ public function testEmptyTable()
->assertExitCode(1);
}

public function testMissingTable()
public function testMissingTable(): void
{
if (version_compare(PHP_VERSION, '8.0', '>=')) {
$this->markTestAsPassed();
Expand All @@ -30,7 +30,7 @@ public function testMissingTable()
->assertExitCode(2);
}

public function testAlreadyExistsField()
public function testAlreadyExistsField(): void
{
if (version_compare(PHP_VERSION, '8.0', '>=')) {
$this->markTestAsPassed();
Expand All @@ -42,7 +42,7 @@ public function testAlreadyExistsField()
->assertExitCode(3);
}

public function testCreateMigrationFile()
public function testCreateMigrationFile(): void
{
if (version_compare(PHP_VERSION, '8.0', '>=')) {
$this->markTestAsPassed();
Expand Down
10 changes: 5 additions & 5 deletions tests/CreateSettingsTableConsoleTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

use Illuminate\Support\Facades\Schema;

class CreateSettingsTableConsoleTest extends TestCase
final class CreateSettingsTableConsoleTest extends TestCase
{
public function testEmptyTable()
public function testEmptyTable(): void
{
if (version_compare(PHP_VERSION, '8.0', '>=')) {
$this->markTestAsPassed();
Expand All @@ -18,7 +18,7 @@ public function testEmptyTable()
->assertExitCode(1);
}

public function testAlreadyExistsTable()
public function testAlreadyExistsTable(): void
{
if (version_compare(PHP_VERSION, '8.0', '>=')) {
$this->markTestAsPassed();
Expand All @@ -29,7 +29,7 @@ public function testAlreadyExistsTable()
->assertExitCode(2);
}

public function testCreateMigration()
public function testCreateMigration(): void
{
if (version_compare(PHP_VERSION, '8.0', '>=')) {
$this->markTestAsPassed();
Expand All @@ -41,7 +41,7 @@ public function testCreateMigration()
->assertExitCode(0);
}

public function testWithUpdateConfig()
public function testWithUpdateConfig(): void
{
if (version_compare(PHP_VERSION, '8.0', '>=')) {
$this->markTestAsPassed();
Expand Down
10 changes: 5 additions & 5 deletions tests/FieldSettingsManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use Glorand\Model\Settings\Exceptions\ModelSettingsException;
use Glorand\Model\Settings\Tests\Models\UserWithField as User;

class FieldSettingsManagerTest extends TestCase
final class FieldSettingsManagerTest extends TestCase
{
/** @var \Glorand\Model\Settings\Tests\Models\UserWithField */
protected $model;
Expand All @@ -22,7 +22,7 @@ class FieldSettingsManagerTest extends TestCase
],
];

public function setUp(): void
protected function setUp(): void
{
parent::setUp();
$this->model = User::first();
Expand All @@ -31,15 +31,15 @@ public function setUp(): void
/**
* @throws \Glorand\Model\Settings\Exceptions\ModelSettingsException
*/
public function testModelArraySettings()
public function testModelArraySettings(): void
{
$testArray = ['a' => 'b'];
$this->model->settings = $testArray;
$this->model->save();
$this->assertEquals($this->model->settings()->all(), $testArray);
}

public function testSettingsMissingSettingsField()
public function testSettingsMissingSettingsField(): void
{
$this->expectException(ModelSettingsException::class);
$this->expectExceptionMessage('Unknown field');
Expand All @@ -50,7 +50,7 @@ public function testSettingsMissingSettingsField()
/**
* @throws \Glorand\Model\Settings\Exceptions\ModelSettingsException
*/
public function testPersistence()
public function testPersistence(): void
{
$this->model->settings()->apply($this->testArray);
$this->assertEquals($this->testArray, $this->model->fresh()->settings()->all());
Expand Down
Loading

0 comments on commit 6fbaf32

Please sign in to comment.