40 lines
1.3 KiB
PHP
40 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Models\SalesAdAudienceFirm;
|
|
use App\Models\SalesAdAudiencePhone;
|
|
use App\Models\SalesAdAudienceState;
|
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
|
use Tests\Concerns\SharesSupplierPdo;
|
|
|
|
uses(DatabaseTransactions::class, SharesSupplierPdo::class);
|
|
|
|
it('хранит снимок фирмы и её номера', function () {
|
|
$firm = SalesAdAudienceFirm::create([
|
|
'firm_inn' => '7700000001',
|
|
'firm_name' => 'Тестовая стоматология',
|
|
'city' => 'Москва',
|
|
'payload' => ['rubric' => 'Стоматологии'],
|
|
'contacts' => [['name' => 'Директор', 'phones' => ['79990000001']]],
|
|
]);
|
|
|
|
SalesAdAudiencePhone::create([
|
|
'phone' => '79990000001',
|
|
'firm_id' => $firm->id,
|
|
'expires_at' => now()->addDays(3),
|
|
]);
|
|
|
|
expect($firm->fresh()->payload)->toBe(['rubric' => 'Стоматологии'])
|
|
->and($firm->phones()->count())->toBe(1);
|
|
});
|
|
|
|
it('отдаёт все сроки одним списком', function () {
|
|
$state = SalesAdAudienceState::current();
|
|
|
|
expect($state->durations())
|
|
->toHaveKey('warmup_days')
|
|
->toHaveKey('registered_days')
|
|
->and($state->durations()['in_work_days'])->toBe(14);
|
|
});
|