Files
portal/app/tests/Feature/Sales/AdAudienceFirmChannelModelTest.php
T

34 lines
1.2 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
use App\Models\SalesAdAudienceFirm;
use App\Models\SalesAdAudienceFirmChannel;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Carbon;
use Tests\Concerns\SharesSupplierPdo;
uses(DatabaseTransactions::class, SharesSupplierPdo::class);
it('создаёт канал через связь фирмы с верными кастами и хелпером channel()', function () {
$firm = SalesAdAudienceFirm::create(['firm_name' => 'Стоматология', 'firm_inn' => '7700000123']);
$channel = $firm->firmChannels()->create([
'channel' => 'yandex',
'status' => 'warming',
'mode' => 'funnel',
'warming_started_at' => now(),
'warmed_times' => 1,
]);
expect($channel)->toBeInstanceOf(SalesAdAudienceFirmChannel::class)
->and($channel->status)->toBeString()->toBe('warming')
->and($channel->mode)->toBeString()->toBe('funnel')
->and($channel->warmed_times)->toBeInt()->toBe(1)
->and($channel->warming_started_at)->toBeInstanceOf(Carbon::class);
$firm->refresh();
expect($firm->channel('yandex'))->not->toBeNull()
->and($firm->channel('yandex')->status)->toBe('warming');
});