@@ -12,7 +12,7 @@ describe('filter-input', function() {
12
12
} )
13
13
14
14
describe ( 'after tree insertion' , function ( ) {
15
- let filterInput , input , list , emptyState
15
+ let filterInput , input , list , emptyState , newItem
16
16
beforeEach ( function ( ) {
17
17
document . body . innerHTML = `
18
18
<filter-input aria-owns="robots">
@@ -29,20 +29,40 @@ describe('filter-input', function() {
29
29
<li>BB-8</li>
30
30
</ul>
31
31
<p data-filter-empty-state hidden>0 robots found.</p>
32
+ <form data-filter-new-item hidden>
33
+ <button data-filter-new-item-value>Create "<span data-filter-new-item-text></span>"</button>
34
+ </form>
32
35
</div>
33
36
`
34
37
35
38
filterInput = document . querySelector ( 'filter-input' )
36
39
input = filterInput . querySelector ( 'input' )
37
40
list = document . querySelector ( '[data-filter-list]' )
38
41
emptyState = document . querySelector ( '[data-filter-empty-state]' )
42
+ newItem = document . querySelector ( '[data-filter-new-item]' )
39
43
} )
40
44
41
45
afterEach ( function ( ) {
42
46
document . body . innerHTML = ''
43
47
} )
44
48
45
- it ( 'filters' , async function ( ) {
49
+ it ( 'filters and toggles new item form' , async function ( ) {
50
+ const listener = once ( 'filter-input-updated' )
51
+ changeValue ( input , 'hu' )
52
+ const customEvent = await listener
53
+ assert . equal ( customEvent . detail . count , 1 )
54
+ assert . equal ( customEvent . detail . total , 4 )
55
+
56
+ changeValue ( input , 'boom' )
57
+ assert . notOk ( newItem . hidden , 'New item form should be shown' )
58
+ assert . equal ( newItem . querySelector ( '[data-filter-new-item-value]' ) . value , 'boom' )
59
+ assert . equal ( newItem . querySelector ( '[data-filter-new-item-text]' ) . textContent , 'boom' )
60
+ } )
61
+
62
+ it ( 'filters and toggles blankslate' , async function ( ) {
63
+ // Remove new item form, which is prioritized over blankslate
64
+ newItem . remove ( )
65
+
46
66
const listener = once ( 'filter-input-updated' )
47
67
changeValue ( input , 'hu' )
48
68
const customEvent = await listener
0 commit comments