Update
This commit is contained in:
99
tests/Feature/PagesLanguagesTest.php
Normal file
99
tests/Feature/PagesLanguagesTest.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
use cPad\Plugins\Pages\Controllers\PagesController;
|
||||
use cPad\Plugins\Pages\Services\Content;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Klevze\ControlPanel\Facades\ActiveLanguage;
|
||||
use Klevze\ControlPanel\Models\Content\ActiveLanguage as ActiveLanguageModel;
|
||||
use Klevze\ControlPanel\Models\Content\Language;
|
||||
use Klevze\ControlPanel\Services\Config;
|
||||
|
||||
beforeEach(function () {
|
||||
View::addNamespace('plugin.page', base_path('packages/klevze/Plugins/Pages/Resources/views'));
|
||||
|
||||
Schema::dropIfExists('cpad');
|
||||
Schema::dropIfExists('active_languages');
|
||||
Schema::dropIfExists('languages');
|
||||
|
||||
Schema::create('languages', function (Blueprint $table) {
|
||||
$table->char('iso', 2)->primary();
|
||||
$table->string('name', 50);
|
||||
$table->string('native', 50);
|
||||
});
|
||||
|
||||
Schema::create('active_languages', function (Blueprint $table) {
|
||||
$table->id('language_id');
|
||||
$table->char('iso', 2)->unique();
|
||||
$table->boolean('active')->default(false);
|
||||
$table->unsignedTinyInteger('num');
|
||||
$table->char('type', 16);
|
||||
});
|
||||
|
||||
Schema::create('cpad', function (Blueprint $table) {
|
||||
$table->string('keycode')->primary();
|
||||
$table->text('value')->nullable();
|
||||
});
|
||||
|
||||
Language::create(['iso' => 'sl', 'name' => 'Slovenian', 'native' => 'Slovenščina']);
|
||||
Language::create(['iso' => 'en', 'name' => 'English', 'native' => 'English']);
|
||||
|
||||
ActiveLanguageModel::create(['iso' => 'sl', 'active' => true, 'num' => 1, 'type' => 'fp']);
|
||||
ActiveLanguageModel::create(['iso' => 'en', 'active' => true, 'num' => 2, 'type' => 'fp']);
|
||||
|
||||
ActiveLanguage::clearCache();
|
||||
|
||||
\Klevze\ControlPanel\Models\System\Cpad::create([
|
||||
'keycode' => 'plugin.pages.config',
|
||||
'value' => '{}',
|
||||
]);
|
||||
});
|
||||
|
||||
it('loads fp languages for the pages create form', function () {
|
||||
$controller = new class(app(Content::class), app(Config::class)) extends PagesController {
|
||||
public function getFontIcons()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
protected function getCategories()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
protected function getCategoryTree()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
protected function getPagesList()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function getGalleryList(?int $id)
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
protected function getTranslation($content_id)
|
||||
{
|
||||
return [];
|
||||
}
|
||||
};
|
||||
|
||||
$view = $controller->Create();
|
||||
$data = $view->getData();
|
||||
|
||||
expect($data['languages'])
|
||||
->toHaveCount(2)
|
||||
->and(collect($data['languages'])->pluck('iso')->all())
|
||||
->toBe(['sl', 'en'])
|
||||
->and($data['translationForm'])
|
||||
->toBeArray()
|
||||
->and($data['translationForm'])
|
||||
->not->toBeEmpty()
|
||||
->and($data['translationForm'][0]->name)
|
||||
->toBe('title');
|
||||
});
|
||||
Reference in New Issue
Block a user