lundi 30 mai 2016

Transactions doesn't work on some tests

I'm working with Laravel 5.2 and phpunit and i'm writing some test for my application. until now i got no problem, and today i encounter something weird and I can't find a way to handle it.

Some of my test file doesn't use transactions although the others does.

i use use DatabaseTransactions; in my TestCase class with is extended in every test file i got.

Most of my test works without any troubles but some of them does not.

Here is one which works withotut any troubles :

class V2LikeTest extends TestCase {

        protected $appToken;
        protected $headers;    

        public function setUp() {
            parent::setUp();
            $this->generateTopic(1);

        }

        /** LIKE TOPICS */
        /** @test */
        public function it_likes_a_topic() {
            $job = new ToggleLikeJob(Topic::first());
            $job->handle();

            $topic = Topic::first();
            $this->assertTrue($topic->present()->isLiked);
            $this->assertEquals(1, $topic->nb_likes);
        }
    }

and this one with troubles:

class V2TopicTest extends TestCase {

    private $appToken;
    private $headers;

    public function setUp() {
        parent::setUp();
        $this->generateCompany(1);

    }

    /** @test */
    public function it_create_a_topic() {
        $new_topic_request = new Request([
            'content' => str_random(100),
            'type' => Topic::TYPE_FEED_TEXT
        ]);
        $job = new CreateFeedTopicJob($new_topic_request->all());
        $job->handle();

        $this->assertCount(1, Topic::all());
    }

}

It's been a while now that i'm looking for the solution but not able to find it. Did someone already meet this troubles?

edit: GenerateTopic function use generateCompany just in case ;)



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire