Completed
Push — master ( 7de777...9be641 )
by
unknown
11:28
created

AbstractOembedProviderTestAbstract   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 104
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 3
dl 0
loc 104
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A providerFlow() 0 8 1
B providerAdd() 0 44 1
B providerUpdate() 0 32 1
1
<?php
2
3
namespace MediaMonks\SonataMediaBundle\Tests\Functional;
4
5
abstract class AbstractOembedProviderTestAbstract extends AdminTestAbstract
6
{
7
    /**
8
     * @param string $provider
9
     * @param string $providerReference
10
     * @param array $expectedValues
11
     */
12
    protected function providerFlow($provider, $providerReference, array $expectedValues)
13
    {
14
        \VCR\VCR::insertCassette($provider);
15
        $this->providerAdd($provider, $providerReference, $expectedValues);
16
        $this->providerUpdate($provider, $providerReference, $expectedValues);
17
        $this->verifyMediaImageIsGenerated();
18
        \VCR\VCR::eject();
19
    }
20
21
    /**
22
     * @param string $provider
23
     * @param string $providerReference
24
     * @param array $expectedValues
25
     */
26
    protected function providerAdd($provider, $providerReference, array $expectedValues)
27
    {
28
        $crawler = $this->client->request('GET', self::BASE_PATH.'create?provider='.$provider);
29
30
        $form = $crawler->selectButton('Create')->form();
31
32
        $this->assertSonataFormValues(
33
            $form,
34
            [
35
                'provider' => $provider,
36
            ]
37
        );
38
39
        $this->updateSonataFormValues(
40
            $form,
41
            [
42
                'providerReference' => $providerReference,
43
            ]
44
        );
45
46
        $crawler = $this->client->submit($form);
47
48
        $form = $crawler->selectButton('Update')->form();
49
50
        $this->assertContains('has been successfully created', $this->client->getResponse()->getContent());
51
        $this->assertSonataFormValues($form, $expectedValues);
52
53
        $this->client->request('GET', self::BASE_PATH.'list');
54
        $this->assertContains($expectedValues['title'], $this->client->getResponse()->getContent());
55
56
        $this->assertNumberOfFilesInPath(1, $this->getMediaPathPrivate());
57
58
        $this->verifyMediaImageIsGenerated();
59
60
        $this->assertEquals(
61
            3,
62
            $crawler->filter('img')->count()
63
        );
64
65
        $this->assertEquals(
66
            1,
67
            $crawler->filter('iframe')->count()
68
        );
69
    }
70
71
    /**
72
     * @param string $provider
73
     * @param string $providerReference
74
     * @param array $expectedValues
75
     */
76
    protected function providerUpdate($provider, $providerReference, array $expectedValues)
0 ignored issues
show
Unused Code introduced by
The parameter $providerReference is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
77
    {
78
        $crawler = $this->client->request('GET', self::BASE_PATH.'1/edit');
79
80
        $this->assertContains($expectedValues['title'], $this->client->getResponse()->getContent());
81
82
        $update = [
83
            'title'       => 'Updated Title',
84
            'description' => 'Updated Description',
85
            'author'      => 'Updated Author',
86
            'copyright'   => 'Updated Copyright',
87
            'focalPoint'  => '75-25',
88
        ];
89
90
        $form = $crawler->selectButton('Update')->form();
91
        $this->updateSonataFormValues($form, $update);
92
        $this->client->submit($form);
93
94
        $this->assertSonataFormValues(
95
            $form,
96
            array_merge(
97
                $update,
98
                [
99
                    'provider'          => $provider,
100
                    'providerReference' => $expectedValues['providerReference'],
101
                ]
102
            )
103
        );
104
105
        $this->client->request('GET', self::BASE_PATH.'list');
106
        $this->assertContains($update['title'], $this->client->getResponse()->getContent());
107
    }
108
}
109