File tree Expand file tree Collapse file tree 2 files changed +33
-2
lines changed
contentcuration/contentcuration/frontend
channelEdit/components/edit Expand file tree Collapse file tree 2 files changed +33
-2
lines changed Original file line number Diff line number Diff line change 499499 } from ' shared/constants' ;
500500 import { constantsTranslationMixin , metadataTranslationMixin } from ' shared/mixins' ;
501501 import { crossComponentTranslator } from ' shared/i18n' ;
502+ import { LanguagesNames } from ' shared/leUtils/Languages' ;
502503
503504 function getValueFromResults (results ) {
504505 if (results .length === 0 ) {
715716 },
716717 },
717718 role: generateGetterSetter (' role_visibility' ),
718- language: generateGetterSetter (' language' ),
719+ language: {
720+ get () {
721+ const value = this .getValueFromNodes (' language' );
722+ return value === nonUniqueValue ? LanguagesNames .MUL : value;
723+ },
724+ set (value ) {
725+ if (! (value === LanguagesNames .MUL && this .language === LanguagesNames .MUL )) {
726+ this .update ({ language: value });
727+ }
728+ },
729+ },
719730 accessibility: generateNestedNodesGetterSetter (' accessibility_labels' ),
720731 contentLevel: generateNestedNodesGetterSetterObject (' grade_levels' ),
721732 resourcesNeeded: generateNestedNodesGetterSetterObject (' learner_needs' ),
Original file line number Diff line number Diff line change 1- import { mount } from '@vue/test-utils' ;
1+ import { mount , shallowMount } from '@vue/test-utils' ;
22import LanguageDropdown from '../LanguageDropdown.vue' ;
33import TestForm from './TestForm.vue' ;
44import { LanguagesList } from 'shared/leUtils/Languages' ;
@@ -61,4 +61,24 @@ describe('languageDropdown', () => {
6161 await wrapper . vm . $nextTick ( ) ;
6262 expect ( wrapper . find ( '.error--text' ) . exists ( ) ) . toBe ( true ) ;
6363 } ) ;
64+
65+ it ( 'returns formatted language text when native_name is present' , ( ) => {
66+ const wrapper = shallowMount ( LanguageDropdown , {
67+ mocks : {
68+ $tr : ( key , params ) => `${ params . language } (${ params . code } )` ,
69+ } ,
70+ } ) ;
71+ const item = { native_name : 'Español,Spanish' , id : 'es' } ;
72+ expect ( wrapper . vm . languageText ( item ) ) . toBe ( 'Español (es)' ) ;
73+ } ) ;
74+
75+ it ( 'returns formatted language text when native_name is an empty string' , ( ) => {
76+ const wrapper = shallowMount ( LanguageDropdown , {
77+ mocks : {
78+ $tr : ( key , params ) => `${ params . language } (${ params . code } )` ,
79+ } ,
80+ } ) ;
81+ const item = { native_name : '' , id : 'de' } ;
82+ expect ( wrapper . vm . languageText ( item ) ) . toBe ( ' (de)' ) ;
83+ } ) ;
6484} ) ;
You can’t perform that action at this time.
0 commit comments