99use PhpMyAdmin \Controllers \Table \StructureController ;
1010use PhpMyAdmin \Template ;
1111use PhpMyAdmin \Tests \AbstractTestCase ;
12- use PhpMyAdmin \Tests \Stubs \ResponseRenderer as ResponseStub ;
12+ use PhpMyAdmin \Tests \Stubs \ResponseRenderer ;
1313use PhpMyAdmin \Transformations ;
1414use ReflectionClass ;
1515
1919class SaveControllerTest extends AbstractTestCase
2020{
2121 public function testSaveController (): void
22+ {
23+ $ _POST = [
24+ 'db ' => 'test_db ' ,
25+ 'table ' => 'test_table ' ,
26+ 'orig_num_fields ' => '1 ' ,
27+ 'orig_field_where ' => '' ,
28+ 'orig_after_field ' => '' ,
29+ 'selected ' => ['name ' ],
30+ 'field_orig ' => ['name ' ],
31+ 'field_type_orig ' => ['VARCHAR ' ],
32+ 'field_length_orig ' => ['20 ' ],
33+ 'field_default_value_orig ' => ['' ],
34+ 'field_default_type_orig ' => ['NONE ' ],
35+ 'field_collation_orig ' => ['utf8mb4_general_ci ' ],
36+ 'field_attribute_orig ' => ['' ],
37+ 'field_null_orig ' => ['NO ' ],
38+ 'field_extra_orig ' => ['' ],
39+ 'field_comments_orig ' => ['' ],
40+ 'field_virtuality_orig ' => ['' ],
41+ 'field_expression_orig ' => ['' ],
42+ 'primary_indexes ' => '[] ' ,
43+ 'unique_indexes ' => '[] ' ,
44+ 'indexes ' => '[] ' ,
45+ 'fulltext_indexes ' => '[] ' ,
46+ 'spatial_indexes ' => '[] ' ,
47+ 'field_name ' => ['new_name ' ],
48+ 'field_type ' => ['VARCHAR ' ],
49+ 'field_length ' => ['21 ' ],
50+ 'field_default_type ' => ['NONE ' ],
51+ 'field_default_value ' => ['' ],
52+ 'field_collation ' => ['utf8mb4_general_ci ' ],
53+ 'field_attribute ' => ['' ],
54+ 'field_adjust_privileges ' => ['NULL ' ],
55+ 'field_comments ' => ['' ],
56+ 'field_virtuality ' => ['' ],
57+ 'field_expression ' => ['' ],
58+ 'field_move_to ' => ['' ],
59+ 'field_mimetype ' => ['' ],
60+ 'field_transformation ' => ['' ],
61+ 'field_transformation_options ' => ['' ],
62+ 'field_input_transformation ' => ['' ],
63+ 'field_input_transformation_options ' => ['' ],
64+ 'do_save_data ' => 'Save ' ,
65+ ];
66+
67+ $ GLOBALS ['db ' ] = 'test_db ' ;
68+ $ GLOBALS ['table ' ] = 'test_table ' ;
69+
70+ $ this ->dummyDbi ->addSelectDb ('test_db ' );
71+ $ this ->dummyDbi ->addResult (
72+ 'ALTER TABLE `test_table` CHANGE `name` `new_name` VARCHAR(21) '
73+ . ' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL; ' ,
74+ []
75+ );
76+
77+ $ mock = $ this ->createMock (StructureController::class);
78+ $ mock ->expects ($ this ->once ())->method ('__invoke ' );
79+
80+ (new SaveController (
81+ new ResponseRenderer (),
82+ new Template (),
83+ new Relation ($ this ->dbi ),
84+ new Transformations (),
85+ $ this ->dbi ,
86+ $ mock
87+ ))();
88+
89+ $ this ->assertArrayNotHasKey ('selected ' , $ _POST );
90+ }
91+
92+ public function testAdjustColumnPrivileges (): void
2293 {
2394 $ GLOBALS ['server ' ] = 1 ;
2495 $ GLOBALS ['text_dir ' ] = 'ltr ' ;
@@ -31,7 +102,7 @@ public function testSaveController(): void
31102 $ method ->setAccessible (true );
32103
33104 $ ctrl = new SaveController (
34- new ResponseStub (),
105+ new ResponseRenderer (),
35106 new Template (),
36107 new Relation ($ this ->dbi ),
37108 new Transformations (),
0 commit comments