Completes the persona grid to a 3x3 with two high-value segments: Marketer (in-house marketing / social media, a scheduling tool's core user) and Online store (e-commerce). Labels in all three locales, with IconSpeakerphone and IconShoppingBag glyphs. Other stays last.
18 lines
624 B
PHP
18 lines
624 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Enums\User\Persona;
|
|
|
|
test('persona values are stable', function () {
|
|
expect(array_map(fn (Persona $persona): string => $persona->value, Persona::cases()))
|
|
->toBe(['creator', 'freelancer', 'developer', 'startup', 'agency', 'small_business', 'marketer', 'online_store', 'other']);
|
|
});
|
|
|
|
test('every persona has an onboarding label in every locale', function (string $locale) {
|
|
foreach (Persona::cases() as $persona) {
|
|
$key = "onboarding.personas.{$persona->value}";
|
|
|
|
expect(__($key, [], $locale))->not->toBe($key);
|
|
}
|
|
})->with(['en', 'es', 'pt-BR']);
|