public function its_attachTopicAction_should_return_404_status_code_when_no_article($request, $queryBuilder, $user, $entityManager, $repository, $query) { $user->hasPermission('AttachTopicToArticle')->willReturn(true); $entityManager->getRepository('Newscoop\\Entity\\Article')->willReturn($repository); $request->get('_articleNumber')->willReturn('64'); $request->get('_languageCode')->willReturn('1'); $repository->createQueryBuilder('a')->willReturn($queryBuilder); $queryBuilder->join('a.language', 'l')->willReturn($queryBuilder); $queryBuilder->where('a.number = :number')->willReturn($queryBuilder); $queryBuilder->andWhere('l.code = :code')->willReturn($queryBuilder); $queryBuilder->setParameters(array('number' => '64', 'code' => '1'))->willReturn($queryBuilder); $queryBuilder->getQuery()->willReturn($query); $query->getOneOrNullResult()->willReturn(null); $response = $this->attachTopicAction($request); $response->getStatusCode()->shouldReturn(404); $response->shouldBeAnInstanceOf('Symfony\\Component\\HttpFoundation\\JsonResponse'); }