Proyectos de Subversion Moodle

Rev

Rev 11 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11 Rev 1441
Línea 26... Línea 26...
26
 * @category   test
26
 * @category   test
27
 * @copyright  2022 Amaia Anabitarte <amaia@moodle.com>
27
 * @copyright  2022 Amaia Anabitarte <amaia@moodle.com>
28
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
28
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
29
 * @coversDefaultClass \mod_data\local\importer\preset_importer
29
 * @coversDefaultClass \mod_data\local\importer\preset_importer
30
 */
30
 */
31
class preset_importer_test extends \advanced_testcase {
31
final class preset_importer_test extends \advanced_testcase {
32
 
-
 
33
    /**
32
    /**
34
     * Data provider for build providers for test_needs_mapping and test_set_affected_fields.
33
     * Data provider for build providers for test_needs_mapping and test_set_affected_fields.
35
     *
34
     *
36
     * @return array[]
35
     * @return array[]
37
     */
36
     */
38
    public function preset_importer_provider(): array {
37
    public static function preset_importer_provider(): array {
39
        // Image gallery preset is: ['title' => 'text', 'description' => 'textarea', 'image' => 'picture'];
38
        // Image gallery preset is: ['title' => 'text', 'description' => 'textarea', 'image' => 'picture'];
Línea 40... Línea 39...
40
 
39
 
41
        $titlefield = new \stdClass();
40
        $titlefield = new \stdClass();
42
        $titlefield->name = 'title';
41
        $titlefield->name = 'title';
Línea 105... Línea 104...
105
    /**
104
    /**
106
     * Data provider for needs_mapping().
105
     * Data provider for needs_mapping().
107
     *
106
     *
108
     * @return array[]
107
     * @return array[]
109
     */
108
     */
110
    public function needs_mapping_provider(): array {
109
    public static function needs_mapping_provider(): array {
111
        $basedprovider = $this->preset_importer_provider();
110
        $basedprovider = static::preset_importer_provider();
Línea 112... Línea 111...
112
 
111
 
113
        $basedprovider['Empty database / Empty importer']['needsmapping'] = false;
112
        $basedprovider['Empty database / Empty importer']['expectedresult'] = false;
114
        $basedprovider['Empty database / Importer with fields']['needsmapping'] = false;
113
        $basedprovider['Empty database / Importer with fields']['expectedresult'] = false;
115
        $basedprovider['Database with fields / Empty importer']['needsmapping'] = true;
114
        $basedprovider['Database with fields / Empty importer']['expectedresult'] = true;
116
        $basedprovider['Same fields']['needsmapping'] = false;
115
        $basedprovider['Same fields']['expectedresult'] = false;
117
        $basedprovider['Fields to create']['needsmapping'] = true;
116
        $basedprovider['Fields to create']['expectedresult'] = true;
118
        $basedprovider['Fields to remove']['needsmapping'] = true;
117
        $basedprovider['Fields to remove']['expectedresult'] = true;
119
        $basedprovider['Fields to update']['needsmapping'] = true;
118
        $basedprovider['Fields to update']['expectedresult'] = true;
Línea 120... Línea 119...
120
        $basedprovider['Fields to create, remove and update']['needsmapping'] = true;
119
        $basedprovider['Fields to create, remove and update']['expectedresult'] = true;
121
 
120
 
Línea 122... Línea 121...
122
        return $basedprovider;
121
        return $basedprovider;
Línea 180... Línea 179...
180
    /**
179
    /**
181
     * Data provider for test_set_affected_fields().
180
     * Data provider for test_set_affected_fields().
182
     *
181
     *
183
     * @return array[]
182
     * @return array[]
184
     */
183
     */
185
    public function set_affected_provider(): array {
184
    public static function set_affected_provider(): array {
186
        $basedprovider = $this->preset_importer_provider();
185
        $basedprovider = static::preset_importer_provider();
Línea 187... Línea 186...
187
 
186
 
188
        $basedprovider['Empty database / Empty importer']['fieldstocreate'] = 0;
187
        $basedprovider['Empty database / Empty importer']['fieldstocreate'] = 0;
189
        $basedprovider['Empty database / Empty importer']['fieldstoremove'] = 0;
188
        $basedprovider['Empty database / Empty importer']['fieldstoremove'] = 0;
Línea 303... Línea 302...
303
        int $fieldstoremove,
302
        int $fieldstoremove,
304
        int $fieldstoupdate
303
        int $fieldstoupdate
305
    ): void {
304
    ): void {
306
        global $USER;
305
        global $USER;
Línea -... Línea 306...
-
 
306
 
307
 
307
        // xdebug_break();
308
        $this->resetAfterTest();
308
        $this->resetAfterTest();
309
        $this->setAdminUser();
309
        $this->setAdminUser();
Línea 310... Línea 310...
310
        $plugingenerator = $this->getDataGenerator()->get_plugin_generator('mod_data');
310
        $plugingenerator = $this->getDataGenerator()->get_plugin_generator('mod_data');
Línea 351... Línea 351...
351
    /**
351
    /**
352
     * Data provider for get_field_names().
352
     * Data provider for get_field_names().
353
     *
353
     *
354
     * @return array[]
354
     * @return array[]
355
     */
355
     */
356
    public function get_field_names_provider(): array {
356
    public static function get_field_names_provider(): array {
357
        return [
357
        return [
358
            'Empty list' => [
358
            'Empty list' => [
359
                'fields' => [],
359
                'fields' => [],
360
                'expected' => '',
360
                'expected' => '',
361
            ],
361
            ],