<?php // tests/Feature/Cancellation/ExportWishTest.php

use App\Models\Instance;

it('weiss bei einer Instanz, die nie gekuendigt wurde, gar nichts', function () {
    // Drei Zustaende, nicht zwei. `null` heisst "nicht gefragt" und ist etwas
    // anderes als "nein" — eine Bestandsinstanz, die vor diesem Bau gekuendigt
    // wurde, hat die Frage nie gesehen, und wir duerfen ihr keine Antwort
    // unterstellen.
    expect(Instance::factory()->create()->export_wish)->toBeNull();
});

it('haelt ein Ja und ein Nein auseinander', function () {
    expect(Instance::factory()->create(['export_wish' => true])->export_wish)->toBeTrue()
        ->and(Instance::factory()->create(['export_wish' => false])->export_wish)->toBeFalse();
});

it('merkt sich, wann erinnert wurde, damit es nicht zweimal geschieht', function () {
    $instance = Instance::factory()->create(['export_reminded_at' => now()]);

    expect($instance->fresh()->export_reminded_at)->not->toBeNull();
});
