Files
eatvio-infra/tests/Feature/Plan/CreateTest.php
2023-12-08 13:25:02 +03:00

114 lines
3.6 KiB
PHP

<?php
namespace Tests\Feature\Plan;
// use Livewire\WithFileUploads;
use Livewire\Livewire;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Illuminate\Foundation\Testing\RefreshDatabase;
// use Illuminate\Foundation\Testing\DatabaseTransactions;
use App\Models\Plan;
use App\Models\User;
use App\Livewire\Plan\Create;
use Tests\TestCase;
class CreateTest extends TestCase
{
// use RefreshDatabase;
use RefreshDatabase;
public function test_show_form_create_plan()
{
$user = User::factory()->create();
$response = $this->actingAs($user)
->get('/plan/create');
$response
->assertStatus(302)
->assertRedirect('https://dev2.eatvio.com/ru');
}
public function test_publish_new_plan_success(): void
{
$plan = Plan::factory()->make();
$user = User::factory()->create(['is_consultant' => true]);
$count = $plan->count();
$this->actingAs($user);
Livewire::test(Create::class)
->set('name', $plan->name)
->assertSet('name', $plan->name)
->set('image', $plan->image)
->set('duration', $plan->duration)
->set('state', $plan->state)
->set('type', $plan->type)
->set('details', $plan->details)
->set('packets_count', $plan->packets_count)
->set('packet1_options', $plan->packet1_options)
->set('packet2_options', $plan->packet2_options)
->set('packet3_options', $plan->packet3_options)
->call('publish')
// ->assertFileDownloaded('plan.png');
->assertStatus(200)
->assertRedirect('plan/'.$plan->count());
$this->assertEquals($plan->count(), $count + 1);
}
//
public function test_to_draft_new_plan_success(): void
{
$plan = Plan::factory()->make();
$user = User::factory()->create();
//
$this->actingAs($user);
//
Livewire::test(Create::class)
->set('name', $plan->name)
->assertSet('name', $plan->name)
->set('image', $plan->image)
->set('duration', $plan->duration)
->set('state', $plan->state)
->set('type', $plan->type)
->set('details', $plan->details)
->set('packets_count', $plan->packets_count)
->set('packet1_options', $plan->packet1_options)
->set('packet2_options', $plan->packet2_options)
->set('packet3_options', $plan->packet3_options)
->call('addToDrafts')
->assertStatus(200)
->assertRedirect('plan/'.$plan->count());
}
//
public function test_to_preview_new_plan_success(): void
{
$plan = Plan::factory()->make();
$user = User::factory()->create();
//
$this->actingAs($user);
//
Livewire::test(Create::class)
->set('name', $plan->name)
->assertSet('name', $plan->name)
->set('image', $plan->image)
->set('duration', $plan->duration)
->set('state', $plan->state)
->set('type', $plan->type)
->set('details', $plan->details)
->set('packets_count', $plan->packets_count)
->set('packet1_options', $plan->packet1_options)
->set('packet2_options', $plan->packet2_options)
->set('packet3_options', $plan->packet3_options)
->call('addToDrafts')
->assertStatus(200)
->assertRedirect('plan/'.$plan->count());
// ->assertRedirect('/plan/'. $plan->id);
}
}