]> git.immae.eu Git - github/wallabag/wallabag.git/blame - tests/Wallabag/CoreBundle/Command/CleanDuplicatesCommandTest.php
Add basic tests
[github/wallabag/wallabag.git] / tests / Wallabag / CoreBundle / Command / CleanDuplicatesCommandTest.php
CommitLineData
3d57d625
TC
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;
9
10class CleanDuplicatesCommandTest extends WallabagCoreTestCase
11{
12 public function testRunTagAllCommandForAll()
13 {
14 $application = new Application($this->getClient()->getKernel());
15 $application->add(new CleanDuplicatesCommand());
16
17 $command = $application->find('wallabag:clean-duplicates');
18
19 $tester = new CommandTester($command);
20 $tester->execute([
21 'command' => $command->getName(),
22 ]);
23
24 $this->assertContains('Cleaning through 3 user accounts', $tester->getDisplay());
25 $this->assertContains('Finished cleaning. 0 duplicates found in total', $tester->getDisplay());
26 }
27
28 public function testRunTagAllCommandWithBadUsername()
29 {
30 $application = new Application($this->getClient()->getKernel());
31 $application->add(new CleanDuplicatesCommand());
32
33 $command = $application->find('wallabag:clean-duplicates');
34
35 $tester = new CommandTester($command);
36 $tester->execute([
37 'command' => $command->getName(),
38 'username' => 'unknown',
39 ]);
40
41 $this->assertContains('User "unknown" not found', $tester->getDisplay());
42 }
43
44 public function testRunTagAllCommandForUser()
45 {
46 $application = new Application($this->getClient()->getKernel());
47 $application->add(new CleanDuplicatesCommand());
48
49 $command = $application->find('wallabag:clean-duplicates');
50
51 $tester = new CommandTester($command);
52 $tester->execute([
53 'command' => $command->getName(),
54 'username' => 'admin',
55 ]);
56
57 $this->assertContains('Cleaned 0 duplicates for user admin', $tester->getDisplay());
58 }
59}