1
- import pattern from "./slides" ;
1
+ import Pattern from "./slides" ;
2
2
import $ from "jquery" ;
3
3
import utils from "../../core/utils" ;
4
4
import { jest } from "@jest/globals" ;
@@ -8,62 +8,79 @@ describe("pat-slides", function () {
8
8
jest . restoreAllMocks ( ) ;
9
9
} ) ;
10
10
11
- describe ( "_collapse_ids" , function ( ) {
11
+ describe ( "1 - _collapse_ids" , function ( ) {
12
12
it ( "Single id" , function ( ) {
13
- expect ( pattern . _collapse_ids ( "foo" ) ) . toEqual ( [ "foo" ] ) ;
13
+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
14
+ expect ( instance . _collapse_ids ( "foo" ) ) . toEqual ( [ "foo" ] ) ;
14
15
} ) ;
15
16
16
17
it ( "Comma-separated list of ids" , function ( ) {
17
- expect ( pattern . _collapse_ids ( "foo,bar" ) ) . toEqual ( [ "foo" , "bar" ] ) ;
18
+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
19
+ expect ( instance . _collapse_ids ( "foo,bar" ) ) . toEqual ( [ "foo" , "bar" ] ) ;
18
20
} ) ;
19
21
20
22
it ( "Skip empty ids" , function ( ) {
21
- expect ( pattern . _collapse_ids ( "foo,,bar" ) ) . toEqual ( [ "foo" , "bar" ] ) ;
23
+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
24
+ expect ( instance . _collapse_ids ( "foo,,bar" ) ) . toEqual ( [ "foo" , "bar" ] ) ;
22
25
} ) ;
23
26
24
27
it ( "Parameter without value" , function ( ) {
25
- expect ( pattern . _collapse_ids ( null ) ) . toEqual ( [ ] ) ;
28
+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
29
+ expect ( instance . _collapse_ids ( null ) ) . toEqual ( [ ] ) ;
26
30
} ) ;
27
31
28
32
it ( "Parameter with empty value" , function ( ) {
29
- expect ( pattern . _collapse_ids ( "" ) ) . toEqual ( [ ] ) ;
33
+ const instance = new Pattern ( document . createElement ( "div" ) ) ;
34
+ expect ( instance . _collapse_ids ( "" ) ) . toEqual ( [ ] ) ;
30
35
} ) ;
31
36
} ) ;
32
37
33
- describe ( "_remove_slides" , function ( ) {
34
- it ( "Remove slides from DOM" , function ( ) {
35
- var $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
36
- for ( var i = 1 ; i <= 4 ; i ++ )
38
+ describe ( "2 - _remove_slides" , function ( ) {
39
+ it ( "Remove slides from DOM" , async function ( ) {
40
+ const $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
41
+ for ( const i = 1 ; i <= 4 ; i ++ )
37
42
$ ( "<div/>" , { class : "slide" , id : "slide" + i } ) . appendTo ( $show ) ;
38
- pattern . _remove_slides ( $show , [ "slide1" , "slide3" ] ) ;
39
- var ids = $ . makeArray (
43
+
44
+ const instance = new Pattern ( $show ) ;
45
+ await utils . timeout ( 1 ) ; // wait a tick for async to settle.
46
+
47
+ instance . _remove_slides ( [ "slide1" , "slide3" ] ) ;
48
+ const ids = $ . makeArray (
40
49
$show . find ( ".slide" ) . map ( function ( idx , el ) {
41
50
return el . id ;
42
51
} )
43
52
) ;
44
53
expect ( ids ) . toEqual ( [ "slide1" , "slide3" ] ) ;
45
54
} ) ;
46
55
47
- it . skip ( "Trigger reset when removing slides" , function ( ) {
48
- var $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
49
- for ( var i = 1 ; i <= 4 ; i ++ ) {
56
+ it . skip ( "Trigger reset when removing slides" , async function ( ) {
57
+ const $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
58
+ for ( const i = 1 ; i <= 4 ; i ++ ) {
50
59
$ ( "<div/>" , { class : "slide" , id : "slide" + i } ) . appendTo ( $show ) ;
51
60
}
52
61
jest . spyOn ( utils , "debounce" ) . mockImplementation ( ( func ) => {
53
62
return func ;
54
63
} ) ;
55
- var spy_reset = jest . spyOn ( pattern , "_reset" ) ;
56
- pattern . _hook ( $show ) ;
57
- pattern . _remove_slides ( $show , [ "slide1" , "slide3" ] ) ;
64
+
65
+ const instance = new Pattern ( $show ) ;
66
+ await utils . timeout ( 1 ) ; // wait a tick for async to settle.
67
+
68
+ const spy_reset = jest . spyOn ( instance , "_reset" ) ;
69
+ instance . _hook ( ) ;
70
+ instance . _remove_slides ( [ "slide1" , "slide3" ] ) ;
58
71
expect ( spy_reset ) . toHaveBeenCalled ( ) ;
59
72
} ) ;
60
73
61
- it ( "Do not trigger reset when not doing anything" , function ( ) {
62
- var $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
63
- for ( var i = 1 ; i <= 2 ; i ++ )
74
+ it ( "Do not trigger reset when not doing anything" , async function ( ) {
75
+ const $show = $ ( "<div/>" , { class : "pat-slides" } ) ;
76
+ for ( const i = 1 ; i <= 2 ; i ++ )
64
77
$ ( "<div/>" , { class : "slide" , id : "slide" + i } ) . appendTo ( $show ) ;
65
- var spy_reset = jest . spyOn ( pattern , "_reset" ) ;
66
- pattern . _remove_slides ( $show , [ "slide1" , "slide2" ] ) ;
78
+
79
+ const instance = new Pattern ( $show ) ;
80
+ await utils . timeout ( 1 ) ; // wait a tick for async to settle.
81
+
82
+ const spy_reset = jest . spyOn ( instance , "_reset" ) ;
83
+ instance . _remove_slides ( [ "slide1" , "slide2" ] ) ;
67
84
expect ( spy_reset ) . not . toHaveBeenCalled ( ) ;
68
85
} ) ;
69
86
} ) ;
0 commit comments