0
respostas

Return value of App\Temporada::getEpisodiosAssistidos() must be an instance of App\Collection

Oi Vinícius, boa Tarde!

Segue meu código:

<?php

namespace Tests\Unit;

use App\Episodio;
use App\Temporada;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;

class TemporadaTest extends TestCase
{
    public function testExample()
    {
        $temporada = new Temporada();
        $episodio1 = new Episodio();
        $episodio1->assistido = true;
        $episodio2 = new Episodio();
        $episodio2->assistido = false;
        $episodio3 = new Episodio();
        $episodio3->assistido = true;
        $temporada->episodios->add($episodio1);
        $temporada->episodios->add($episodio2);
        $temporada->episodios->add($episodio3);

        $episodiosAssistidos = $temporada->getEpisodiosAssistidos;

        $this->assertCount(2, $episodiosAssistidos);
    }
}

Seguinte erro:

Ocorreu o seguinte erro:

1) Tests\Unit\TemporadaTest::testExample
TypeError: Return value of App\Temporada::getEpisodiosAssistidos() must be an instance of App\Collection, instance of Illuminate\Database\Eloquent\Collection returned

C:\Users\Public\Documents\Global\xampp73\controle-series\app\Temporada.php:26
C:\Users\Public\Documents\Global\xampp73\controle-series\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php:411
C:\Users\Public\Documents\Global\xampp73\controle-series\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php:397
C:\Users\Public\Documents\Global\xampp73\controle-series\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php:329
C:\Users\Public\Documents\Global\xampp73\controle-series\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php:1523
C:\Users\Public\Documents\Global\xampp73\controle-series\tests\Unit\TemporadaTest.php:26

ERRORS!
Tests: 1, Assertions: 0, Errors: 1.