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'); });