99 lines
2.9 KiB
PHP
99 lines
2.9 KiB
PHP
<?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');
|
|
}); |