Completed
Push — master ( ef98e6...4ba382 )
by Dominik
03:28 queued 11s
created

testEnableEmailUpdateConfirmationByDefault()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
rs 9.9332
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Azine\EmailUpdateConfirmationBundle\Tests\DependencyInjection;
4
5
use Azine\EmailUpdateConfirmationBundle\DependencyInjection\AzineEmailUpdateConfirmationExtension;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
8
class AzineEmailUpdateConfirmationExtensionTest extends \PHPUnit\Framework\TestCase
9
{
10
    public function testDisableEmailUpdateConfirmation()
11
    {
12
        $configuration = new ContainerBuilder();
13
        $loader = new AzineEmailUpdateConfirmationExtension();
14
        $config = array();
15
        $config['enabled'] = false;
16
        $config['from_email'] = '[email protected]';
17
        $loader->load(array($config), $configuration);
18
19
        $this->assertFalse($configuration->hasDefinition('email_update_confirmation'));
20
        $this->assertFalse($configuration->hasDefinition('azine.email_update.mailer'));
21
        $this->assertFalse($configuration->hasDefinition('email_update_listener'));
22
        $this->assertFalse($configuration->hasDefinition('email_update_flash_subscriber'));
23
        $this->assertFalse($configuration->hasParameter('azine_email_update_confirmation.template'));
24
        $this->assertFalse($configuration->hasParameter('azine_email_update_confirmation.cypher_method'));
25
        $this->assertFalse($configuration->hasParameter('azine_email_update_confirmation.redirect_route'));
26
    }
27
28
    public function testEnableEmailUpdateConfirmation()
29
    {
30
        $configuration = new ContainerBuilder();
31
        $loader = new AzineEmailUpdateConfirmationExtension();
32
        $config = array();
33
        $config['enabled'] = true;
34
        $config['from_email'] = '[email protected]';
35
        $loader->load(array($config), $configuration);
36
37
        $this->assertTrue($configuration->hasDefinition('email_update_confirmation'));
38
        $this->assertTrue($configuration->hasDefinition('azine.email_update.mailer'));
39
        $this->assertTrue($configuration->hasDefinition('email_update_listener'));
40
        $this->assertTrue($configuration->hasDefinition('email_update_flash_subscriber'));
41
        $this->assertTrue($configuration->hasParameter('azine_email_update_confirmation.template'));
42
        $this->assertTrue($configuration->hasParameter('azine_email_update_confirmation.cypher_method'));
43
        $this->assertTrue($configuration->hasParameter('azine_email_update_confirmation.redirect_route'));
44
    }
45
46
    public function testEnableEmailUpdateConfirmationByDefault(){
47
        $configuration = new ContainerBuilder();
48
        $loader = new AzineEmailUpdateConfirmationExtension();
49
        $config = array();
50
        $config['from_email'] = '[email protected]';
51
        $loader->load(array($config), $configuration);
52
        $this->assertTrue($configuration->hasDefinition('email_update_confirmation'));
53
        $this->assertTrue($configuration->hasParameter('azine_email_update_confirmation.template'));
54
        $this->assertEquals($config['from_email'], $configuration->getParameter('azine_email_update_confirmation.from_email'));
55
    }
56
57
    /**
58
     * @expectedException \Exception
59
     */
60
    public function testNotSetUpFromEmailParameter()
61
    {
62
        $configuration = new ContainerBuilder();
63
        $loader = new AzineEmailUpdateConfirmationExtension();
64
        $loader->load(array(), $configuration);
65
    }
66
67
    public function testFOSUserBundleFromEmailParameter()
68
    {
69
        $configuration = new ContainerBuilder();
70
        $fosFromEmail = '[email protected]';
71
        $fosFromName = 'From Email Name';
72
        $configuration->setParameter('fos_user.resetting.email.from_email', [$fosFromEmail => $fosFromName]);
73
        $loader = new AzineEmailUpdateConfirmationExtension();
74
        $loader->load(array(), $configuration);
75
        $this->assertEquals($fosFromEmail, $configuration->getParameter('azine_email_update_confirmation.from_email'));
76
    }
77
}
78