Skip to content

Commit 0b6e897

Browse files
committed
Issue #2989503 by seanB, phenaproxima, samuel.mortenson, amateescu, Wim Leers: Add tests to prove that the media library widget works when target_bundles is NULL
1 parent 2020819 commit 0b6e897

File tree

5 files changed

+79
-4
lines changed

5 files changed

+79
-4
lines changed

core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_form_display.node.basic_page.default.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ content:
4444
settings: { }
4545
third_party_settings: { }
4646
region: content
47+
field_empty_types_media:
48+
type: media_library_widget
49+
weight: 125
50+
settings: { }
51+
third_party_settings: { }
52+
region: content
4753
promote:
4854
type: boolean_checkbox
4955
settings:

core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_view_display.node.basic_page.default.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@ content:
4949
link: false
5050
third_party_settings: { }
5151
region: content
52+
field_empty_types_media:
53+
type: entity_reference_entity_view
54+
weight: 103
55+
label: above
56+
settings:
57+
view_mode: default
58+
link: false
59+
third_party_settings: { }
60+
region: content
5261
links:
5362
weight: 100
5463
settings: { }
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
langcode: en
2+
status: true
3+
dependencies:
4+
config:
5+
- field.storage.node.field_empty_types_media
6+
- media.type.type_one
7+
- media.type.type_two
8+
- node.type.basic_page
9+
id: node.basic_page.field_empty_types_media
10+
field_name: field_empty_types_media
11+
entity_type: node
12+
bundle: basic_page
13+
label: 'Empty types media'
14+
description: ''
15+
required: false
16+
translatable: false
17+
default_value: { }
18+
default_value_callback: ''
19+
settings:
20+
handler: 'default:media'
21+
handler_settings:
22+
target_bundles: null
23+
sort:
24+
field: _none
25+
auto_create: false
26+
auto_create_bundle: file
27+
field_type: entity_reference
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
langcode: en
2+
status: true
3+
dependencies:
4+
module:
5+
- media
6+
- node
7+
id: node.field_empty_types_media
8+
field_name: field_empty_types_media
9+
entity_type: node
10+
type: entity_reference
11+
settings:
12+
target_type: media
13+
module: core
14+
locked: false
15+
cardinality: -1
16+
translatable: true
17+
indexes: { }
18+
persist_with_no_fields: false
19+
custom_storage: false

core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ public function testWidget() {
201201
$assert_session->pageTextContains('Unlimited media');
202202
$assert_session->pageTextContains('Twin media');
203203
$assert_session->pageTextContains('Single media type');
204+
$assert_session->pageTextContains('Empty types media');
204205

205206
// Assert generic media library elements.
206207
$assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]')->click();
@@ -215,10 +216,23 @@ public function testWidget() {
215216
$assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]')->click();
216217
$assert_session->assertWaitOnAjaxRequest();
217218
$menu = $assert_session->elementExists('css', '.media-library-menu');
218-
$assert_session->elementExists('named', ['link', 'Type One'], $menu);
219-
$assert_session->elementNotExists('named', ['link', 'Type Two'], $menu);
220-
$assert_session->elementExists('named', ['link', 'Type Three'], $menu);
221-
$assert_session->elementNotExists('named', ['link', 'Type Four'], $menu);
219+
$this->assertTrue($menu->hasLink('Type One'));
220+
$this->assertFalse($menu->hasLink('Type Two'));
221+
$this->assertTrue($menu->hasLink('Type Three'));
222+
$this->assertFalse($menu->hasLink('Type Four'));
223+
$page->find('css', '.ui-dialog-titlebar-close')->click();
224+
$assert_session->assertWaitOnAjaxRequest();
225+
226+
// Assert that the media type menu is available when no types are configured
227+
// for the field. All types should be available in this case.
228+
$assert_session->elementExists('css', '.media-library-open-button[href*="field_empty_types_media"]')->click();
229+
$assert_session->assertWaitOnAjaxRequest();
230+
$menu = $assert_session->elementExists('css', '.media-library-menu');
231+
$this->assertTrue($menu->hasLink('Type One'));
232+
$this->assertTrue($menu->hasLink('Type Two'));
233+
$this->assertTrue($menu->hasLink('Type Three'));
234+
$this->assertTrue($menu->hasLink('Type Four'));
235+
$this->assertTrue($menu->hasLink('Type Five'));
222236
$page->find('css', '.ui-dialog-titlebar-close')->click();
223237
$assert_session->assertWaitOnAjaxRequest();
224238

0 commit comments

Comments
 (0)