admin: PM-Detailseite verlinkt Firma, Autor und Firmen-Benutzer
Firma und Autor sind im Header und Status-Grid klickbar
(admin/companies/{id} bzw. admin/users/{id}). Das Kontakte-Panel heißt
jetzt "Firma & Pressekontakte" und zeigt die Firmendaten (Adresse,
E-Mail, Telefon, Website) über den Pressekontakten. Neu: "Benutzer mit
Zugriff (über Firma)" listet alle Firmen-Mitglieder mit Rolle und
Autor-Markierung — mehrere User hängen nur über die Firma an einer PM,
Magic-Links sind reine Login-Tokens.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
fa303360ee
commit
e3ce626b73
2 changed files with 127 additions and 10 deletions
|
|
@ -51,7 +51,12 @@ test('admin show zeigt zugeordnete Pressekontakte', function () {
|
|||
$admin = makeAdminForShow();
|
||||
$this->actingAs($admin);
|
||||
|
||||
$company = Company::factory()->presseecho()->create();
|
||||
$company = Company::factory()->presseecho()->create([
|
||||
'name' => 'Muster GmbH',
|
||||
'email' => 'firma@example.test',
|
||||
'phone' => '+49 30 1234567',
|
||||
'website' => 'https://muster.example.test',
|
||||
]);
|
||||
$contact = Contact::factory()->for($company)->create([
|
||||
'first_name' => 'Max',
|
||||
'last_name' => 'Mustermann',
|
||||
|
|
@ -64,6 +69,11 @@ test('admin show zeigt zugeordnete Pressekontakte', function () {
|
|||
$pr->contacts()->sync([$contact->id]);
|
||||
|
||||
LivewireVolt::test('admin.press-releases.show', ['id' => $pr->id])
|
||||
->assertSee('Firma & Pressekontakte')
|
||||
->assertSee('Muster GmbH')
|
||||
->assertSee('firma@example.test')
|
||||
->assertSee('+49 30 1234567')
|
||||
->assertSee('https://muster.example.test')
|
||||
->assertSee('Zugeordnete Pressekontakte')
|
||||
->assertSee('Max Mustermann')
|
||||
->assertSee('Pressesprecher')
|
||||
|
|
@ -112,6 +122,30 @@ test('admin show zeigt Embargo-Info im Published-Workflow', function () {
|
|||
->assertSee('Sperrfrist bis');
|
||||
});
|
||||
|
||||
test('admin show verlinkt Firma, Autor und Firmen-Benutzer', function () {
|
||||
/** @var TestCase $this */
|
||||
$admin = makeAdminForShow();
|
||||
$this->actingAs($admin);
|
||||
|
||||
$company = Company::factory()->presseecho()->create(['name' => 'Muster GmbH']);
|
||||
$author = User::factory()->create(['name' => 'Anna Autorin']);
|
||||
$coEditor = User::factory()->create(['name' => 'Carl Co-Editor']);
|
||||
$company->users()->attach($author->id, ['role' => 'owner']);
|
||||
$company->users()->attach($coEditor->id, ['role' => 'member']);
|
||||
|
||||
$pr = PressRelease::factory()->create([
|
||||
'company_id' => $company->id,
|
||||
'user_id' => $author->id,
|
||||
]);
|
||||
|
||||
LivewireVolt::test('admin.press-releases.show', ['id' => $pr->id])
|
||||
->assertSee('Benutzer mit Zugriff')
|
||||
->assertSee('Carl Co-Editor')
|
||||
->assertSeeHtml(route('admin.companies.show', $company->id))
|
||||
->assertSeeHtml(route('admin.users.show', $author->id))
|
||||
->assertSeeHtml(route('admin.users.show', $coEditor->id));
|
||||
});
|
||||
|
||||
test('admin show zeigt Autor im Status-Verlauf-Grid', function () {
|
||||
/** @var TestCase $this */
|
||||
$admin = makeAdminForShow();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue