samedi 9 avril 2016

Blameable not working in tests

I have a User with Blameable Trait from http://ift.tt/uL61Nv. When I try to test "Create user" form in my admin panel, I get the following error in the Response:

Blame is reference, user must be an object (500 Internal Server Error)

My test:

public function testAdminUsersCreate()
    {
        $crawler = $this->client->request('GET', '/admin/users/create');

        $form = $crawler->selectButton('Save')->form();
        $crawler = $this->client->submit($form, array('user_create[email]' => 'test@test.com', 'user_create[username]' => 'test', 'user_create[password][first]' => 'testtest', 'user_create[password][second]' => 'testtest')); //returns error in a Reponse

        $this->assertEquals(5, $crawler->filter('tr')->count());
    }

    /**
     * {@inheritDoc}
     */
    protected function setUp()
    {
        $this->client = static::createClient();

        $this->client->insulate();

        $this->logIn();
    }

    private function logIn()
    {
        $session = $this->client->getContainer()->get('session');

        $firewall = 'main';
        $token = new UsernamePasswordToken('admin', 'admin', $firewall, array('ROLE_SUPER_ADMIN'));
        $session->set('_security_' . $firewall, serialize($token));
        $session->save();

        $cookie = new Cookie($session->getName(), $session->getId());
        $this->client->getCookieJar()->set($cookie);
    }

Is there a way I can mock the object or some other workaround?

Aucun commentaire:

Enregistrer un commentaire