Issues (3627)

bundles/FormBundle/Tests/Model/DeleteFormTest.php (1 issue)

1
<?php
2
3
/*
4
 * @copyright   2014 Mautic Contributors. All rights reserved
5
 * @author      Mautic
6
 *
7
 * @link        http://mautic.org
8
 *
9
 * @license     GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
10
 */
11
12
namespace Mautic\FormBundle\Tests\Model;
13
14
use Doctrine\ORM\EntityManager;
15
use Mautic\CoreBundle\Doctrine\Helper\ColumnSchemaHelper;
16
use Mautic\CoreBundle\Doctrine\Helper\TableSchemaHelper;
17
use Mautic\CoreBundle\Helper\TemplatingHelper;
18
use Mautic\CoreBundle\Helper\ThemeHelper;
19
use Mautic\FormBundle\Entity\Form;
20
use Mautic\FormBundle\Entity\FormRepository;
21
use Mautic\FormBundle\Helper\FormFieldHelper;
22
use Mautic\FormBundle\Helper\FormUploader;
23
use Mautic\FormBundle\Model\ActionModel;
24
use Mautic\FormBundle\Model\FieldModel;
25
use Mautic\FormBundle\Model\FormModel;
26
use Mautic\FormBundle\Tests\FormTestAbstract;
27
use Mautic\LeadBundle\Model\FieldModel as LeadFieldModel;
28
use Mautic\LeadBundle\Tracker\ContactTracker;
29
use Symfony\Component\EventDispatcher\EventDispatcher;
30
use Symfony\Component\HttpFoundation\RequestStack;
31
32
class DeleteFormTest extends FormTestAbstract
33
{
34
    public function testDelete()
35
    {
36
        $requestStack = $this
37
            ->getMockBuilder(RequestStack::class)
38
            ->disableOriginalConstructor()
39
            ->getMock();
40
41
        $templatingHelperMock = $this
42
            ->getMockBuilder(TemplatingHelper::class)
43
            ->disableOriginalConstructor()
44
            ->getMock();
45
46
        $themeHelper = $this
47
            ->getMockBuilder(ThemeHelper::class)
48
            ->disableOriginalConstructor()
49
            ->getMock();
50
51
        $formActionModel = $this
52
            ->getMockBuilder(ActionModel::class)
53
            ->disableOriginalConstructor()
54
            ->getMock();
55
56
        $formFieldModel = $this
57
            ->getMockBuilder(FieldModel::class)
58
            ->disableOriginalConstructor()
59
            ->getMock();
60
61
        $fieldHelper = $this
62
            ->getMockBuilder(FormFieldHelper::class)
63
            ->disableOriginalConstructor()
64
            ->getMock();
65
66
        $leadFieldModel = $this
67
            ->getMockBuilder(LeadFieldModel::class)
68
            ->disableOriginalConstructor()
69
            ->getMock();
70
71
        $formUploaderMock = $this
72
            ->getMockBuilder(FormUploader::class)
73
            ->disableOriginalConstructor()
74
            ->getMock();
75
76
        $contactTracker = $this->createMock(ContactTracker::class);
77
78
        $columnSchemaHelper = $this
79
            ->getMockBuilder(ColumnSchemaHelper::class)
80
            ->disableOriginalConstructor()
81
            ->getMock();
82
83
        $tableSchemaHelper = $this
84
            ->getMockBuilder(TableSchemaHelper::class)
85
            ->disableOriginalConstructor()
86
            ->getMock();
87
88
        $formModel = new FormModel(
89
            $requestStack,
90
            $templatingHelperMock,
91
            $themeHelper,
92
            $formActionModel,
93
            $formFieldModel,
94
            $fieldHelper,
95
            $leadFieldModel,
96
            $formUploaderMock,
97
            $contactTracker,
98
            $columnSchemaHelper,
99
            $tableSchemaHelper
100
        );
101
102
        $dispatcher = $this
103
            ->getMockBuilder(EventDispatcher::class)
104
            ->disableOriginalConstructor()
105
            ->getMock();
106
107
        $dispatcher->expects($this->at(0))
108
            ->method('hasListeners')
109
            ->with('mautic.form_pre_delete')
110
            ->willReturn(false);
111
112
        $dispatcher->expects($this->at(1))
113
            ->method('hasListeners')
114
            ->with('mautic.form_post_delete')
115
            ->willReturn(false);
116
117
        $entityManager = $this
118
            ->getMockBuilder(EntityManager::class)
119
            ->disableOriginalConstructor()
120
            ->getMock();
121
122
        $formRepository = $this
123
            ->getMockBuilder(FormRepository::class)
124
            ->disableOriginalConstructor()
125
            ->getMock();
126
127
        $entityManager->expects($this->once())
128
            ->method('getRepository')
129
            ->willReturn($formRepository);
130
131
        $formModel->setDispatcher($dispatcher);
132
        $formModel->setEntityManager($entityManager);
133
134
        $form = $this
135
            ->getMockBuilder(Form::class)
136
            ->disableOriginalConstructor()
137
            ->getMock();
138
139
        $form->expects($this->exactly(2))
140
            ->method('getId')
141
            ->with()
142
            ->willReturn(1);
143
144
        $formUploaderMock->expects($this->once())
145
            ->method('deleteFilesOfForm')
146
            ->with($form);
147
148
        $formRepository->expects($this->once())
149
            ->method('deleteEntity')
150
            ->with($form);
151
152
        $formModel->deleteEntity($form);
153
154
        $this->assertSame(1, $form->deletedId);
0 ignored issues
show
Accessing deletedId on the interface PHPUnit\Framework\MockObject\MockObject suggest that you code against a concrete implementation. How about adding an instanceof check?
Loading history...
155
    }
156
}
157