35 lines
1.1 KiB
PHP
35 lines
1.1 KiB
PHP
<?php
|
|
|
|
use App\Support\OperatingMode;
|
|
use App\Support\Settings;
|
|
|
|
/**
|
|
* Der Modus entscheidet, welche Zugangsdaten gelten. Er wird an genau einer
|
|
* Stelle gelesen, damit nirgends sonst ein String verglichen wird — ein
|
|
* Tippfehler in einem Vergleich wäre sonst ein stiller Wechsel auf Live.
|
|
*/
|
|
it('is live when nothing has been stored', function () {
|
|
expect(OperatingMode::current())->toBe(OperatingMode::Live);
|
|
});
|
|
|
|
it('reads the stored mode', function () {
|
|
Settings::set('platform.mode', 'test');
|
|
|
|
expect(OperatingMode::current())->toBe(OperatingMode::Test);
|
|
});
|
|
|
|
it('falls back to live when the stored value is not a mode', function () {
|
|
// Eine Zeile, die von Hand oder von einer alten Fassung geschrieben wurde.
|
|
// Live ist die sichere Richtung: eine echte Zahlung wird korrekt behandelt,
|
|
// ein Testereignis scheitert laut.
|
|
Settings::set('platform.mode', 'staging');
|
|
|
|
expect(OperatingMode::current())->toBe(OperatingMode::Live);
|
|
});
|
|
|
|
it('writes the mode and takes effect immediately', function () {
|
|
OperatingMode::set(OperatingMode::Test);
|
|
|
|
expect(OperatingMode::current())->toBe(OperatingMode::Test);
|
|
});
|