getAuthenticatedClient(); $crawler = $client->request('GET', '/fr/search', [ 'q' => '@report ' . (new DateTime('tomorrow'))->format('Y-m-d'), //there should be any result for future. And future is tomorrow 'name' => 'report', ]); $this->assertTrue($client->getResponse()->isSuccessful()); } public function testSearchByDate() { $client = $this->getAuthenticatedClient(); $crawler = $client->request('GET', '/fr/search', [ 'q' => '@report date:2015-01-05', ]); $this->assertTrue($client->getResponse()->isSuccessful()); $this->assertMatchesRegularExpression('/Situation de logement/i', $crawler->text()); } public function testSearchDoubleDate() { $client = $this->getAuthenticatedClient(); $crawler = $client->request('GET', '/fr/search', [ 'q' => '@report date:2014-05-01 2014-05-06', ]); $this->assertGreaterThan(0, $crawler->filter('.error')->count()); } public function testSearchEmtpy() { $client = $this->getAuthenticatedClient(); $crawler = $client->request('GET', '/fr/search', [ 'q' => '@report ', ]); $this->assertGreaterThan(0, $crawler->filter('.error')->count()); } public function testSearchExpectedDefault() { $client = $this->getAuthenticatedClient(); $crawler = $client->request('GET', '/fr/search', [ 'q' => '@report 2015-01-05', ]); $this->assertTrue($client->getResponse()->isSuccessful()); $this->assertMatchesRegularExpression('/Situation de logement/i', $crawler->text()); } /** * Test that the user do not see unauthorized results. * * We test for that that : * - we do not see any unauthorized scope mention */ public function testUsersDoNotSeeUnauthorizedResults() { $clientSocial = $this->getAuthenticatedClient(); $clientAdministrative = $this->getAuthenticatedClient('center a_administrative'); $params = ['q' => '@report date:2015-01-05']; $crawlerSocial = $clientSocial->request('GET', '/fr/search', $params); $crawlerAdministrative = $clientAdministrative->request('GET', '/fr/search', $params); $this->assertNotContains('social', $crawlerAdministrative->filter('.content') ->text()); $this->assertNotContains('administrative', $crawlerAdministrative->filter('.content') ->text()); } /** * @param mixed $username * * @return \Symfony\Component\BrowserKit\Client */ private function getAuthenticatedClient($username = 'center a_social') { return self::createClient([], [ 'PHP_AUTH_USER' => $username, 'PHP_AUTH_PW' => 'password', ]); } }