File size: 1,370 Bytes
d2897cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php

declare(strict_types=1);

namespace Mautic\FormBundle\Tests\Controller;

use Mautic\CoreBundle\Test\MauticMysqlTestCase;
use PHPUnit\Framework\Assert;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

final class AjaxControllerFunctionalTest extends MauticMysqlTestCase
{
    public function testGetFieldsForObjectAction(): void
    {
        $this->client->request(
            Request::METHOD_GET,
            '/s/ajax?action=form:getFieldsForObject&mappedObject=company&mappedField=&formId=10',
            [],
            [],
            $this->createAjaxHeaders()
        );
        $clientResponse = $this->client->getResponse();
        $payload        = json_decode($clientResponse->getContent(), true);
        Assert::assertSame(Response::HTTP_OK, $clientResponse->getStatusCode());

        // Assert some random fields exist.
        Assert::assertSame(
            [
                'label'      => 'Company Email',
                'value'      => 'companyemail',
                'isListType' => false,
            ],
            $payload['fields'][4]
        );
        Assert::assertSame(
            [
                'label'      => 'Industry',
                'value'      => 'companyindustry',
                'isListType' => true,
            ],
            $payload['fields'][9]
        );
    }
}