@@ -3,7 +3,7 @@ import { elementUpdated, expect, fixture, html } from '@open-wc/testing';
3
3
import { UUISelectElement } from './uui-select.element' ;
4
4
5
5
const options : Array < Option > = [
6
- { name : 'Carrot' , value : 'orange' } ,
6
+ { name : 'Carrot' , value : 'orange' , selected : true } ,
7
7
{ name : 'Cucumber' , value : 'green' } ,
8
8
{ name : 'Aubergine' , value : 'purple' } ,
9
9
{ name : 'Blueberry' , value : 'Blue' } ,
@@ -64,11 +64,7 @@ describe('UUISelect in Form', () => {
64
64
beforeEach ( async ( ) => {
65
65
formElement = await fixture (
66
66
html ` < form >
67
- < uui-select
68
- label ="foo "
69
- name ="bar "
70
- .options =${ options }
71
- value =${ options [ 0 ] . value } > </ uui-select >
67
+ < uui-select label ="foo " name ="bar " .options =${ options } > </ uui-select >
72
68
</ form > `
73
69
) ;
74
70
element = formElement . querySelector ( 'uui-select' ) as any ;
@@ -79,6 +75,14 @@ describe('UUISelect in Form', () => {
79
75
expect ( element . value ) . to . be . equal ( 'orange' ) ;
80
76
} ) ;
81
77
78
+ it ( 'if value is set to a string that is not in the options array the value is empty string' , async ( ) => {
79
+ element . value = 'something silly' ;
80
+ await elementUpdated ( element ) ;
81
+ const formData = new FormData ( formElement ) ;
82
+ expect ( element . value ) . to . be . equal ( '' ) ;
83
+ expect ( formData . get ( 'bar' ) ) . to . be . equal ( '' ) ;
84
+ } ) ;
85
+
82
86
it ( 'form output' , ( ) => {
83
87
const formData = new FormData ( formElement ) ;
84
88
expect ( formData . get ( 'bar' ) ) . to . be . equal ( 'orange' ) ;
@@ -117,7 +121,9 @@ describe('UUISelect in Form', () => {
117
121
await elementUpdated ( element ) ;
118
122
} ) ;
119
123
120
- it ( 'sets element to invalid when value is empty' , ( ) => {
124
+ it ( 'sets element to invalid when value is empty' , async ( ) => {
125
+ element . value = '' ;
126
+ await elementUpdated ( element ) ;
121
127
expect ( element . checkValidity ( ) ) . to . be . false ;
122
128
} ) ;
123
129
0 commit comments