/** * Test fetchFull() method returns data if provided id */ public function testFetchFullReturnsDataIfProvidedId() { $mockId = 1; $mockData = ['key' => 'somevalue']; $mockApp = m::mock(\Silex\Application::class)->makePartial(); $mockDataObject = m::mock(CommentatorApi::class, [$mockApp]); $mockDataObject->shouldReceive('fetchCommentatorFullDataById')->with($mockId)->andReturn($mockData); $object = new CommentatorApi($mockDataObject); $returned = $object->fetchFull($mockId); $this->assertSame($mockData, $returned); }
/** * @param Application $app * @param $user string * * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response */ public function validateLogin(Application $app, $user) { $resultFalseMessage = 'Failed logging in. Reason: '; $resultTrueMessage = 'Successfully logged in.'; switch ($user) { case 'author': $apiObject = new AuthorApi(new AuthorData($app)); break; case 'commentator': $apiObject = new CommentatorApi(new CommentatorData($app)); break; default: $app['session']->getFlashBag()->add('message', 'Unknown user login attempt.'); return $this->index($app); } $apiObject->setPasswordObject(new Password()); try { $result = $apiObject->login($_POST); } catch (\InvalidArgumentException $e) { $message = $e->getMessage(); } catch (\UnexpectedValueException $e) { $message = $e->getMessage(); } if (!isset($result) || !$result) { $app['session']->getFlashBag()->add('message', $resultFalseMessage); if (isset($message)) { $app['session']->getFlashBag()->add('message', $message); } // return $app->redirect($failureRedirPath, $failureRedirCode); return $this->viewLogin($app, $user); } $app['session']->getFlashBag()->add('message', $resultTrueMessage); return $this->index($app); }