aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Wallabag/CoreBundle/Command/ShowUserCommandTest.php95
1 files changed, 95 insertions, 0 deletions
diff --git a/tests/Wallabag/CoreBundle/Command/ShowUserCommandTest.php b/tests/Wallabag/CoreBundle/Command/ShowUserCommandTest.php
new file mode 100644
index 00000000..3b928d1e
--- /dev/null
+++ b/tests/Wallabag/CoreBundle/Command/ShowUserCommandTest.php
@@ -0,0 +1,95 @@
1<?php
2
3namespace Tests\Wallabag\CoreBundle\Command;
4
5use Symfony\Bundle\FrameworkBundle\Console\Application;
6use Symfony\Component\Console\Tester\CommandTester;
7use Wallabag\CoreBundle\Command\CleanDuplicatesCommand;
8use Tests\Wallabag\CoreBundle\WallabagCoreTestCase;
9use Wallabag\CoreBundle\Command\ShowUserCommand;
10use Wallabag\CoreBundle\Entity\Entry;
11use Wallabag\UserBundle\Entity\User;
12
13class ShowUserCommandTest extends WallabagCoreTestCase
14{
15 /**
16 * @expectedException \Symfony\Component\Console\Exception\RuntimeException
17 * @expectedExceptionMessage Not enough arguments
18 */
19 public function testRunShowUserCommandWithoutUsername()
20 {
21 $application = new Application($this->getClient()->getKernel());
22 $application->add(new ShowUserCommand());
23
24 $command = $application->find('wallabag:user:show');
25
26 $tester = new CommandTester($command);
27 $tester->execute([
28 'command' => $command->getName(),
29 ]);
30 }
31
32 public function testRunShowUserCommandWithBadUsername()
33 {
34 $application = new Application($this->getClient()->getKernel());
35 $application->add(new ShowUserCommand());
36
37 $command = $application->find('wallabag:user:show');
38
39 $tester = new CommandTester($command);
40 $tester->execute([
41 'command' => $command->getName(),
42 'username' => 'unknown',
43 ]);
44
45 $this->assertContains('User "unknown" not found', $tester->getDisplay());
46 }
47
48 public function testRunShowUserCommandForUser()
49 {
50 $application = new Application($this->getClient()->getKernel());
51 $application->add(new ShowUserCommand());
52
53 $command = $application->find('wallabag:user:show');
54
55 $tester = new CommandTester($command);
56 $tester->execute([
57 'command' => $command->getName(),
58 'username' => 'admin',
59 ]);
60
61 $this->assertContains('Username : admin', $tester->getDisplay());
62 $this->assertContains('Email : bigboss@wallabag.org', $tester->getDisplay());
63 $this->assertContains('Display name : Big boss', $tester->getDisplay());
64 $this->assertContains('2FA activated: no', $tester->getDisplay());
65 }
66
67 public function testShowUser()
68 {
69 $client = $this->getClient();
70 $em = $client->getContainer()->get('doctrine.orm.entity_manager');
71
72 $this->logInAs('admin');
73
74 /** @var User $user */
75 $user = $em->getRepository('WallabagUserBundle:User')->findOneById($this->getLoggedInUserId());
76
77 $user->setName('Bug boss');
78 $em->persist($user);
79
80 $em->flush();
81
82 $application = new Application($this->getClient()->getKernel());
83 $application->add(new ShowUserCommand());
84
85 $command = $application->find('wallabag:user:show');
86
87 $tester = new CommandTester($command);
88 $tester->execute([
89 'command' => $command->getName(),
90 'username' => 'admin',
91 ]);
92
93 $this->assertContains('Display name : Bug boss', $tester->getDisplay());
94 }
95}