Issues (3627)

FormBundle/Tests/Model/SubmissionModelTest.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 Mautic\FormBundle\Entity\Form;
15
use Mautic\FormBundle\Event\SubmissionEvent;
16
use Mautic\FormBundle\Tests\FormTestAbstract;
17
use Symfony\Component\HttpFoundation\Request;
18
19
class SubmissionModelTest extends FormTestAbstract
20
{
21
    public function testSaveSubmission()
22
    {
23
        $request = new Request();
24
        $request->setMethod('POST');
25
        $formData = [
26
            'var_name_1' => 'value 1',
27
            'var_name_2' => 'value 2',
28
            'email'      => '[email protected]',
29
            'file'       => 'test.jpg',
30
            'submit'     => '',
31
            'formId'     => 1,
32
            'return'     => '',
33
            'formName'   => 'testform',
34
            'formid'     => 1,
35
        ];
36
        $post      = $formData;
37
        $server    = $request->server->all();
38
        $form      = new Form();
39
        $fields    = $this->getTestFormFields();
40
        $formModel = $this->getFormModel();
41
        $formModel->setFields($form, $fields);
42
43
        $submissionModel = $this->getSubmissionModel();
44
        $this->assertFalse($submissionModel->saveSubmission($post, $server, $form, $request));
45
        /** @var SubmissionEvent $submissionEvent */
46
        $submissionEvent = $submissionModel->saveSubmission($post, $server, $form, $request, true)['submission'];
47
        $this->assertInstanceOf(SubmissionEvent::class, $submissionEvent);
48
        $alias              = 'email';
49
        $token              = '{formfield='.$alias.'}';
50
        $tokens[$token]     = $formData[$alias];
0 ignored issues
show
Comprehensibility Best Practice introduced by
$tokens was never initialized. Although not strictly required by PHP, it is generally a good practice to add $tokens = array(); before regardless.
Loading history...
51
        $this->assertEquals($tokens[$token], $submissionEvent->getTokens()[$token]);
52
53
        $alias              = $this->getTestFormFields()['file']['alias'];
54
        $token              = '{formfield='.$alias.'}';
55
        $tokens[$token]     = $formData[$alias];
56
        $this->assertNotEquals($tokens[$token], $submissionEvent->getTokens()[$token]);
57
    }
58
}
59