'home', 'key' => 'hero', 'type' => 'json', 'order' => 0, 'value' => [ 'de' => ['title' => 'Eigener Titel', 'subtitle' => 'Ausstattung – mit CABINET, Rotpunkt Küchen, Febrü und einem Netzwerk regionaler Fachexperten.'], ]]); $legal = CmsContent::create(['group' => 'legal', 'key' => 'cookie_policy', 'type' => 'json', 'order' => 0, 'value' => [ 'de' => ['content' => '
B2In GmbH, Irland („Google")
'], ]]); $this->seed(CmsBrandSeeder::class); $februe = CmsBrand::where('slug', 'februe')->firstOrFail(); $services = $februe->services; $services[0]['title'] = 'Home-Office'; $februe->services = $services; $februe->setTranslation('summary', 'de', 'Ob Home-Office oder ganze Büroetage – alles aus einer Hand.'); $februe->save(); $article = CmsArticle::factory()->create([ 'title' => ['de' => 'Warum das Dubai Escrow-System überrascht'], 'content' => ['de' => ['intro' => 'Das Konzept "Local for Local" wirkt.']], ]); $this->seed(ProofreadingCorrectionsSeeder::class); $this->seed(ProofreadingCorrectionsSeeder::class); expect($hero->refresh()->getTranslation('value', 'de'))->toBe([ 'title' => 'Eigener Titel', 'subtitle' => 'Ausstattung – mit CABINET, Rotpunkt Küchen, Febrü, Otterpohl Möbelservice und einem Netzwerk regionaler Fachexperten.', ]) ->and($legal->refresh()->getTranslation('value', 'de')['content'])->toBe('B2in GmbH, Irland („Google“)
'); $februe->refresh(); expect($februe->services[0]['title'])->toBe('Homeoffice') ->and($februe->getTranslation('summary', 'de'))->toBe('Ob Homeoffice oder ganze Büroetage – alles aus einer Hand.'); $article->refresh(); expect($article->getTranslation('title', 'de'))->toBe('Warum das Dubai-Escrow-System überrascht') ->and($article->getTranslation('content', 'de')['intro'])->toBe('Das Konzept „Local for Local“ wirkt.'); }); it('ships the corrected texts for fresh installations', function () { $this->seed(CmsBrandSeeder::class); expect(cms_theme_section('hero')['subtitle'])->toContain('Febrü und ein Netzwerk regionaler Experten') ->and(__('ui.contact_form.email'))->toBe('E-Mail *') ->and(CmsBrand::where('slug', 'februe')->first()->services[0]['title'])->toBe('Homeoffice'); $azizi = file_get_contents(resource_path('lang/de/immobilien-azizi.json')); expect($azizi)->not->toContain('Mietermarkt')->not->toContain('Phase abhängig')->not->toContain('im Downtown Jebel Ali'); }); it('names the Otterpohl joinery instead of "our joinery"', function () { $origin = cms_theme_section('origin_section'); expect($origin['steps_text'])->toContain('mit der Tischlerei Otterpohl') ->and($origin['steps'][2]['description'])->toStartWith('Die Tischlerei Otterpohl baut auf'); }); it('shows no internal data-quality notes on the real estate pages', function () { $html = $this->get('/immobilien/azizi-creek-views-4')->assertSuccessful()->getContent(); expect($html)->not->toContain('final prüfen') ->not->toContain('Datenstand') ->not->toContain('SharePoint'); $json = file_get_contents(resource_path('lang/de/immobilien-azizi.json')); expect($json)->not->toContain('confidence')->not->toContain('final prüfen'); });