Welcome to mirror list, hosted at ThFree Co, Russian Federation.

SchemaExportControllerTest.php « Controllers « classes « test - github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 5642eb03615e2273fed497860078ca55a99adbb0 (plain)
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 PhpMyAdmin\Tests\Controllers;

use PhpMyAdmin\Controllers\SchemaExportController;
use PhpMyAdmin\Export;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;

/**
 * @covers \PhpMyAdmin\Controllers\SchemaExportController
 */
class SchemaExportControllerTest extends AbstractTestCase
{
    /**
     * @runInSeparateProcess
     */
    public function testExport(): void
    {
        $GLOBALS['dbi'] = $this->createDatabaseInterface();

        $request = $this->createStub(ServerRequest::class);
        $request->method('getParsedBodyParam')->willReturnMap([
            ['db', null, 'test_db'],
            ['export_type', null, 'svg'],
        ]);
        $export = $this->createStub(Export::class);
        $export->method('getExportSchemaInfo')->willReturn([
            'fileName' => 'file.svg',
            'mediaType' => 'image/svg+xml',
            'fileData' => 'file data',
        ]);

        $response = new ResponseRenderer();
        $controller = new SchemaExportController($export, $response);
        $controller($request);
        $output = $this->getActualOutputForAssertion();
        $this->assertSame('file data', $output);
        $this->assertTrue($response->isDisabled());
        $this->assertSame('', $response->getHTMLResult());
        $this->assertSame([], $response->getJSONResult());
    }
}