mark_edinoroglove
@mark_edinoroglove

Почему выдается ошибка в тесте?

Здравствуйте, подскажите пожалуйста, почему у меня выдается ошибка ErrorException: Trying to access array offset on null, третий час уже мучаюсь
6670da0d46480326391954.png
И связано это почему то именно с logo, так как если убрать из массива, то ошибки не будет,
так же logo не пустое
[logo] => Illuminate\Http\Testing\File Object\n
        (\n
            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 1\n
            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => avatar.jpg\n
            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg\n
            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0\n
            [originalPath:Symfony\Component\HttpFoundation\File\UploadedFile:private] => avatar.jpg\n
            [hashName:protected] => \n
            [name] => avatar.jpg\n
            [tempFile] => Resource id #1442\n
            [sizeToReport] => \n
            [mimeTypeToReport] => \n
            [pathName:SplFileInfo:private] => /private/var/folders/zz/c88rpf9x3bd284qv3pnt2g6c0000gn/T/phpSI0Epr\n
            [fileName:SplFileInfo:private] => phpSI0Epr\n
        )\n
\n
)\n
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
mark_edinoroglove
@mark_edinoroglove Автор вопроса
проблема решена, надо было вынести в отдельную переменную файл и далее уже отдельно ставить set
public function test_new_users_can_add_company(): void
    {
        $this->actingAs($user = User::factory()->create());
        Storage::fake('avatars');

        $file = UploadedFile::fake()->image('avatar.png');

        $data = [
            'name' => fake()->name(),
            'mark' => fake()->name(),
            'kpp' => fake()->numberBetween(),
            'description' => fake()->realText(300),
            'date_foundation' => fake()->date(),
            'address_fact' => fake()->address(),
            'address_ur' => fake()->address(),
            'address_warehouse' => fake()->address(),
            //'logo' => UploadedFile::fake()->image('avatar.jpg'), решить прблему с тестом
        ];

        //$this->assertEquals('some arbitrary value', print_r($data, TRUE));
        Livewire::test(AboutCompany::class)
            ->set('aboutCompanyForm', $data)
            ->set('aboutCompanyForm.logo', $file)
            ->call('updateCompany');

        $this->assertNotNull($user->fresh()->company);
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы