KI-generierte Bilder: eigener Lizenztyp, Anbieter-Bestätigung, Kennzeichnung
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
6e0b2b1814
commit
cc7b3c3379
9 changed files with 255 additions and 31 deletions
|
|
@ -272,6 +272,63 @@ test('switching the license type clears the stale license detail', function () {
|
|||
->assertSet('newLicenseDetail', '');
|
||||
});
|
||||
|
||||
test('ai generated images require tool and provider terms confirmation', function () {
|
||||
/** @var TestCase $this */
|
||||
['owner' => $owner, 'pr' => $pr] = makeImageDraftOwner();
|
||||
$this->actingAs($owner);
|
||||
|
||||
LivewireVolt::test('components.press-release-images-manager', ['pressReleaseId' => $pr->id])
|
||||
->set('newImage', UploadedFile::fake()->image('ki-bild.jpg', 1200, 800))
|
||||
->set('newAuthor', 'Beispiel GmbH')
|
||||
->set('newLicenseType', ImageLicenseType::AiGenerated->value)
|
||||
->set('newPeopleRightsStatus', 'none')
|
||||
->set('newPropertyRightsStatus', 'none')
|
||||
->set('newRightsConfirmed', true)
|
||||
->call('saveImage')
|
||||
->assertHasErrors(['newLicenseDetail', 'newAiTermsConfirmed']);
|
||||
});
|
||||
|
||||
test('a valid ai generated upload stores tool and ai flag', function () {
|
||||
/** @var TestCase $this */
|
||||
['owner' => $owner, 'pr' => $pr] = makeImageDraftOwner();
|
||||
$this->actingAs($owner);
|
||||
|
||||
LivewireVolt::test('components.press-release-images-manager', ['pressReleaseId' => $pr->id])
|
||||
->set('newImage', UploadedFile::fake()->image('ki-bild.jpg', 1200, 800))
|
||||
->set('newAuthor', 'Beispiel GmbH')
|
||||
->set('newLicenseType', ImageLicenseType::AiGenerated->value)
|
||||
->set('newLicenseDetail', 'Midjourney v7')
|
||||
->set('newPeopleRightsStatus', 'none')
|
||||
->set('newPropertyRightsStatus', 'none')
|
||||
->set('newRightsConfirmed', true)
|
||||
->set('newAiTermsConfirmed', true)
|
||||
->call('saveImage')
|
||||
->assertHasNoErrors();
|
||||
|
||||
$image = $pr->images()->first();
|
||||
|
||||
expect($image)->not->toBeNull();
|
||||
expect($image->license_type)->toBe(ImageLicenseType::AiGenerated);
|
||||
expect($image->license_detail)->toBe('Midjourney v7');
|
||||
expect($image->is_ai_generated)->toBeTrue();
|
||||
expect($image->copyright)->toBe('Bild: KI-generiert (Midjourney v7)');
|
||||
});
|
||||
|
||||
test('the ai copyright suggestion follows the tool but respects manual input', function () {
|
||||
/** @var TestCase $this */
|
||||
['owner' => $owner, 'pr' => $pr] = makeImageDraftOwner();
|
||||
$this->actingAs($owner);
|
||||
|
||||
LivewireVolt::test('components.press-release-images-manager', ['pressReleaseId' => $pr->id])
|
||||
->set('newLicenseType', ImageLicenseType::AiGenerated->value)
|
||||
->assertSet('newCopyright', 'Bild: KI-generiert')
|
||||
->set('newLicenseDetail', 'DALL·E 3')
|
||||
->assertSet('newCopyright', 'Bild: KI-generiert (DALL·E 3)')
|
||||
->set('newCopyright', 'Eigener Nachweis')
|
||||
->set('newLicenseDetail', 'Midjourney v7')
|
||||
->assertSet('newCopyright', 'Eigener Nachweis');
|
||||
});
|
||||
|
||||
test('existing title image hides upload form and can be removed', function () {
|
||||
/** @var TestCase $this */
|
||||
['owner' => $owner, 'pr' => $pr] = makeImageDraftOwner();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue