Fix tests
continuous-integration/drone/push Build is passing Details

This commit is contained in:
philipp lang 2024-09-21 18:56:53 +02:00
parent 295d85f4f8
commit 767df11e4f
6 changed files with 112 additions and 119 deletions

View File

@ -12,6 +12,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Laravel\Scout\Searchable; use Laravel\Scout\Searchable;
use Spatie\Image\Enums\Fit;
use Spatie\Image\Manipulations; use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
@ -74,7 +75,7 @@ class Form extends Model implements HasMedia
->forceFileName(fn (Form $model, string $name) => $model->slug) ->forceFileName(fn (Form $model, string $name) => $model->slug)
->convert(fn () => 'jpg') ->convert(fn () => 'jpg')
->registerMediaConversions(function (Media $media) { ->registerMediaConversions(function (Media $media) {
$this->addMediaConversion('square')->fit(Manipulations::FIT_CROP, 400, 400); $this->addMediaConversion('square')->fit(Fit::Crop, 400, 400);
}); });
$this->addMediaCollection('mailattachments') $this->addMediaCollection('mailattachments')
->withDefaultProperties(fn () => [ ->withDefaultProperties(fn () => [

View File

@ -3,134 +3,126 @@
namespace Tests\EndToEnd\Form; namespace Tests\EndToEnd\Form;
use App\Form\Models\Form; use App\Form\Models\Form;
use App\Membership\TestersBlock;
use App\Subactivity; use App\Subactivity;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Tests\Feature\Form\FormtemplateSectionRequest; use Tests\Feature\Form\FormtemplateSectionRequest;
use Tests\RequestFactories\EditorRequestFactory; use Tests\RequestFactories\EditorRequestFactory;
use Tests\TestCase;
class FormApiListActionTest extends FormTestCase uses(FormTestCase::class);
{ uses(DatabaseTransactions::class);
use DatabaseTransactions; it('testItDisplaysForms', function () {
Carbon::setTestNow(Carbon::parse('2023-03-02'));
Storage::fake('temp');
$this->loginNami()->withoutExceptionHandling();
$form = Form::factory()
->name('lala 2')
->excerpt('fff')
->withImage('headerImage', 'lala-2.jpg')
->description(EditorRequestFactory::new()->text(10, 'desc'))
->from('2023-05-05')
->to('2023-06-07')
->sections([FormtemplateSectionRequest::new()->name('sname')])
->create();
public function testItDisplaysForms(): void sleep(1);
{ $this->get('/api/form?perPage=15')
Carbon::setTestNow(Carbon::parse('2023-03-02')); ->assertOk()
Storage::fake('temp'); ->assertJsonPath('data.0.name', 'lala 2')
$this->loginNami()->withoutExceptionHandling(); ->assertJsonPath('data.0.config.sections.0.name', 'sname')
$form = Form::factory() ->assertJsonPath('data.0.id', $form->id)
->name('lala 2') ->assertJsonPath('data.0.excerpt', 'fff')
->excerpt('fff') ->assertJsonPath('data.0.description.blocks.0.data.text', 'desc')
->withImage('headerImage', 'lala-2.jpg') ->assertJsonPath('data.0.slug', 'lala-2')
->description(EditorRequestFactory::new()->text(10, 'desc')) ->assertJsonPath('data.0.image', $form->getMedia('headerImage')->first()->getFullUrl('square'))
->from('2023-05-05') ->assertJsonPath('data.0.dates', '05.05.2023 - 07.06.2023')
->to('2023-06-07') ->assertJsonPath('data.0.from_human', '05.05.2023')
->sections([FormtemplateSectionRequest::new()->name('sname')]) ->assertJsonPath('data.0.to_human', '07.06.2023')
->create(); ->assertJsonPath('meta.per_page', 15)
->assertJsonPath('meta.base_url', url(''))
->assertJsonPath('meta.total', 1);
});
sleep(1); it('testItDisplaysDefaultValueOfField', function () {
$this->get('/api/form?perPage=15') Storage::fake('temp');
->assertOk() $this->loginNami()->withoutExceptionHandling();
->assertJsonPath('data.0.name', 'lala 2') Form::factory()->withImage('headerImage', 'lala-2.jpg')
->assertJsonPath('data.0.config.sections.0.name', 'sname') ->sections([FormtemplateSectionRequest::new()->fields([$this->textField()])])
->assertJsonPath('data.0.id', $form->id) ->create();
->assertJsonPath('data.0.excerpt', 'fff')
->assertJsonPath('data.0.description.blocks.0.data.text', 'desc')
->assertJsonPath('data.0.slug', 'lala-2')
->assertJsonPath('data.0.image', $form->getMedia('headerImage')->first()->getFullUrl('square'))
->assertJsonPath('data.0.dates', '05.05.2023 - 07.06.2023')
->assertJsonPath('data.0.from_human', '05.05.2023')
->assertJsonPath('data.0.to_human', '07.06.2023')
->assertJsonPath('meta.per_page', 15)
->assertJsonPath('meta.base_url', url(''))
->assertJsonPath('meta.total', 1);
}
public function testItDisplaysDefaultValueOfField(): void sleep(1);
{ $this->get('/api/form?perPage=15')->assertJsonPath('data.0.config.sections.0.fields.0.value', null);
Storage::fake('temp'); });
$this->loginNami()->withoutExceptionHandling();
Form::factory()->withImage('headerImage', 'lala-2.jpg')
->sections([FormtemplateSectionRequest::new()->fields([$this->textField()])])
->create();
sleep(1); it('testItDisplaysRemoteGroups', function () {
$this->get('/api/form?perPage=15')->assertJsonPath('data.0.config.sections.0.fields.0.value', null); $this->loginNami()->withoutExceptionHandling();
} Subactivity::factory()->inNami(1)->name('Wölfling')->ageGroup(true)->create();
Subactivity::factory()->inNami(50)->name('Biber')->ageGroup(false)->create();
Subactivity::factory()->name('Lager')->ageGroup(true)->create();
public function testItDisplaysRemoteGroups(): void sleep(1);
{ $this->get('/api/form?perPage=15')
$this->loginNami()->withoutExceptionHandling(); ->assertJsonPath('meta.agegroups.0', ['id' => 1, 'name' => 'Wölfling'])
Subactivity::factory()->inNami(1)->name('Wölfling')->ageGroup(true)->create(); ->assertJsonCount(1, 'meta.agegroups');
Subactivity::factory()->inNami(50)->name('Biber')->ageGroup(false)->create(); });
Subactivity::factory()->name('Lager')->ageGroup(true)->create();
sleep(1); it('testItDoesntDisplayInactiveForms', function () {
$this->get('/api/form?perPage=15') $this->loginNami()->withoutExceptionHandling();
->assertJsonPath('meta.agegroups.0', ['id' => 1, 'name' => 'Wölfling'])
->assertJsonCount(1, 'meta.agegroups');
}
public function testItDoesntDisplayInactiveForms(): void Form::factory()->isActive(false)->withImage('headerImage', 'lala-2.jpg')->count(1)->create();
{ Form::factory()->isActive(true)->withImage('headerImage', 'lala-2.jpg')->count(2)->create();
$this->loginNami()->withoutExceptionHandling();
Form::factory()->isActive(false)->withImage('headerImage', 'lala-2.jpg')->count(1)->create(); sleep(1);
Form::factory()->isActive(true)->withImage('headerImage', 'lala-2.jpg')->count(2)->create(); $this->get('/api/form?perPage=15&filter=' . $this->filterString(['inactive' => true]))->assertJsonCount(3, 'data');
$this->get('/api/form?perPage=15&filter=' . $this->filterString(['inactive' => false]))->assertJsonCount(2, 'data');
$this->get('/api/form?perPage=15&filter=' . $this->filterString([]))->assertJsonCount(2, 'data')
->assertJsonPath('data.0.is_active', true)
->assertJsonPath('data.0.is_private', false);
});
sleep(1); it('testItDisplaysDailyForms', function () {
$this->get('/api/form?perPage=15&filter=' . $this->filterString(['inactive' => true]))->assertJsonCount(3, 'data'); Carbon::setTestNow(Carbon::parse('2023-03-02'));
$this->get('/api/form?perPage=15&filter=' . $this->filterString(['inactive' => false]))->assertJsonCount(2, 'data'); $this->loginNami()->withoutExceptionHandling();
$this->get('/api/form?perPage=15&filter=' . $this->filterString([]))->assertJsonCount(2, 'data') Form::factory()
->assertJsonPath('data.0.is_active', true) ->withImage('headerImage', 'lala-2.jpg')
->assertJsonPath('data.0.is_private', false); ->from('2023-05-05')
} ->to('2023-05-05')
->create();
public function testItDisplaysDailyForms(): void sleep(1);
{ $this->get('/api/form')
Carbon::setTestNow(Carbon::parse('2023-03-02')); ->assertJsonPath('data.0.dates', '05.05.2023');
$this->loginNami()->withoutExceptionHandling(); });
Form::factory()
->withImage('headerImage', 'lala-2.jpg')
->from('2023-05-05')
->to('2023-05-05')
->create();
sleep(1); it('testItDisplaysPastEvents', function () {
$this->get('/api/form') Carbon::setTestNow(Carbon::parse('2023-05-10'));
->assertJsonPath('data.0.dates', '05.05.2023'); $this->loginNami()->withoutExceptionHandling();
} Form::factory()
->withImage('headerImage', 'lala-2.jpg')
->from('2023-05-05')
->to('2023-05-05')
->create();
public function testItDisplaysPastEvents(): void sleep(1);
{ $this->get('/api/form?filter=' . $this->filterString(['past' => true]))
Carbon::setTestNow(Carbon::parse('2023-05-10')); ->assertJsonCount(1, 'data');
$this->loginNami()->withoutExceptionHandling(); });
Form::factory()
->withImage('headerImage', 'lala-2.jpg')
->from('2023-05-05')
->to('2023-05-05')
->create();
sleep(1); it('testItDisplaysAllForms', function () {
$this->get('/api/form?filter=' . $this->filterString(['past' => true])) Carbon::setTestNow(Carbon::parse('2023-03-02'));
->assertJsonCount(1, 'data'); Storage::fake('temp');
} $this->loginNami()->withoutExceptionHandling();
Form::factory()
->withImage('headerImage', 'lala-2.jpg')
->from('2023-05-05')
->to('2023-06-07')
->count(20)
->create();
public function testItDisplaysAllForms(): void sleep(1);
{ $this->get('/api/form')->assertJsonCount(20, 'data');
Carbon::setTestNow(Carbon::parse('2023-03-02')); });
Storage::fake('temp');
$this->loginNami()->withoutExceptionHandling();
Form::factory()
->withImage('headerImage', 'lala-2.jpg')
->from('2023-05-05')
->to('2023-06-07')
->count(20)
->create();
sleep(1);
$this->get('/api/form')->assertJsonCount(20, 'data');
}
}

View File

@ -13,7 +13,7 @@ abstract class EndToEndTestCase extends TestCase
{ {
use DatabaseMigrations; use DatabaseMigrations;
public function setUp(): void protected function setUp(): void
{ {
parent::setUp(); parent::setUp();

View File

@ -14,7 +14,7 @@ class FormTestCase extends TestCase
private string $clearCacheUrl = 'http://event.com/clear-cache'; private string $clearCacheUrl = 'http://event.com/clear-cache';
public function setUp(): void protected function setUp(): void
{ {
parent::setUp(); parent::setUp();

View File

@ -13,7 +13,7 @@ use Illuminate\Foundation\Testing\DatabaseTransactions;
uses(DatabaseTransactions::class); uses(DatabaseTransactions::class);
it('testItDisplaysInvoices', function () { it('testItDisplaysInvoices', function () {
login()->loginNami()->withoutExceptionHandling(); $this->login()->loginNami()->withoutExceptionHandling();
$subscription = Subscription::factory()->forFee()->name('Beitrag')->create(); $subscription = Subscription::factory()->forFee()->name('Beitrag')->create();
$member = Member::factory()->defaults()->create(['firstname' => 'Aaaa', 'lastname' => 'Aaab']); $member = Member::factory()->defaults()->create(['firstname' => 'Aaaa', 'lastname' => 'Aaab']);
$invoice = Invoice::factory() $invoice = Invoice::factory()

View File

@ -62,7 +62,7 @@ class StoreTest extends TestCase
'address' => 'Bavert 50', 'address' => 'Bavert 50',
'bill_kind' => 'Post', 'bill_kind' => 'Post',
'birthday' => '2013-02-19', 'birthday' => '2013-02-19',
'children_phone' => '+49 176 8574112', 'children_phone' => '+49 176 70512778',
'country_id' => $country->id, 'country_id' => $country->id,
'email_parents' => 'osloot@aol.com', 'email_parents' => 'osloot@aol.com',
'firstname' => 'Joe', 'firstname' => 'Joe',
@ -71,8 +71,8 @@ class StoreTest extends TestCase
'lastname' => 'Muster', 'lastname' => 'Muster',
'letter_address' => null, 'letter_address' => null,
'location' => 'Solingen', 'location' => 'Solingen',
'main_phone' => '+49 212 2334322', 'main_phone' => '+49 212 337056',
'mobile_phone' => '+49 176 3033053', 'mobile_phone' => '+49 176 70512774',
'nationality_id' => $nationality->id, 'nationality_id' => $nationality->id,
'region_id' => $region->id, 'region_id' => $region->id,
'send_newspaper' => '1', 'send_newspaper' => '1',
@ -230,7 +230,7 @@ class StoreTest extends TestCase
return [ return [
'address' => 'Bavert 50', 'address' => 'Bavert 50',
'birthday' => '2013-02-19', 'birthday' => '2013-02-19',
'children_phone' => '+49 176 8574112', 'children_phone' => '+49 176 70512778',
'efz' => '', 'efz' => '',
'email' => '', 'email' => '',
'email_parents' => 'osloot@aol.com', 'email_parents' => 'osloot@aol.com',
@ -244,8 +244,8 @@ class StoreTest extends TestCase
'lastname' => 'Muster', 'lastname' => 'Muster',
'letter_address' => '', 'letter_address' => '',
'location' => 'Solingen', 'location' => 'Solingen',
'main_phone' => '+49 212 2334322', 'main_phone' => '+49 212 337056',
'mobile_phone' => '+49 176 3033053', 'mobile_phone' => '+49 176 70512774',
'more_ps_at' => '', 'more_ps_at' => '',
'multiply_more_pv' => false, 'multiply_more_pv' => false,
'multiply_pv' => false, 'multiply_pv' => false,