feat реклама за показы: ручка Исправить и узкое исключение в замке правки
This commit is contained in:
@@ -413,3 +413,23 @@ it('баннер с номером объявления в Яндексе не
|
||||
|
||||
expect(AdCampaignBanner::find($banner->id))->not->toBeNull();
|
||||
});
|
||||
|
||||
/**
|
||||
* Узкое исключение из замка: у отклонённой кампании показов нет и денег на ней нет,
|
||||
* поэтому картинку клиент обязан иметь возможность переделать. Соседний тест
|
||||
* «перезалить баннер после заведения кампании в Яндексе нельзя» держит вторую половину
|
||||
* правила: у НЕотклонённой кампании замок остаётся на месте.
|
||||
*/
|
||||
it('у отклонённой кампании картинку перезалить можно', function () {
|
||||
Storage::fake('local');
|
||||
[$user, $campaign, $banner] = launchedBannerCampaign();
|
||||
$campaign->update(['status' => AdCampaign::STATUS_REJECTED]);
|
||||
|
||||
$res = $this->actingAs($user)->postJson("/api/advertising/campaigns/{$campaign->id}/banners", [
|
||||
'width' => 728, 'height' => 90,
|
||||
'file' => UploadedFile::fake()->image('new.jpg', 728, 90),
|
||||
]);
|
||||
|
||||
$res->assertStatus(201);
|
||||
expect($banner->fresh()->bytes)->not->toBe(1000);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user