@@ -2,12 +2,7 @@ import { Provider } from "react-redux";
2
2
import store from "store/store" ;
3
3
import { MOCK_DATA } from "utils/mockData" ;
4
4
import App from "../../../App" ;
5
- const {
6
- render,
7
- screen,
8
- waitFor,
9
- fireEvent,
10
- } = require ( "@testing-library/react" ) ;
5
+ const { render, screen, fireEvent } = require ( "@testing-library/react" ) ;
11
6
const AppWrapper = ( ) => {
12
7
return (
13
8
< Provider store = { store } >
@@ -19,21 +14,34 @@ jest.mock("utils/api", () => {
19
14
return {
20
15
get : ( ) => ( {
21
16
data : MOCK_DATA ,
17
+ status : 200 ,
22
18
} ) ,
23
19
} ;
24
20
} ) ;
25
-
21
+ test ( "Page heading is displayed on initial load" , async ( ) => {
22
+ render ( < AppWrapper /> ) ;
23
+ await screen . findByText ( "pbench_user_benchmark1" ) ;
24
+ const heading = screen . getByRole ( "heading" , { name : / r e s u l t s / i } ) ;
25
+ expect ( heading ) . toBeInTheDocument ( ) ;
26
+ } ) ;
26
27
test ( "data from API is displayed on initial load" , async ( ) => {
27
28
render ( < AppWrapper /> ) ;
28
- const benchmarkName = await screen . findByText ( "pbench_user_benchmark1" ) ;
29
- const cells = await screen . findAllByRole ( "cell" ) ;
30
- await waitFor ( ( ) => expect ( benchmarkName ) . toBeInTheDocument ( ) ) ;
31
- await waitFor ( ( ) => expect ( cells ) . toHaveLength ( 20 ) ) ;
29
+ await screen . findByText ( "pbench_user_benchmark1" ) ;
30
+ const datasetNameOne = screen . queryByText ( "pbench_user_benchmark1" ) ;
31
+ const datasetNameTwo = screen . queryByText ( "pbench_user_benchmark2" ) ;
32
+ const datasetNameThree = screen . queryByText ( "pbench_user_benchmark3" ) ;
33
+ const datasetNameFour = screen . queryByText ( "pbench_user_benchmark4" ) ;
34
+ const datasetNameFive = screen . queryByText ( "pbench_user_benchmark5" ) ;
35
+ expect ( datasetNameOne ) . toBeInTheDocument ( ) ;
36
+ expect ( datasetNameTwo ) . toBeInTheDocument ( ) ;
37
+ expect ( datasetNameThree ) . toBeInTheDocument ( ) ;
38
+ expect ( datasetNameFour ) . toBeInTheDocument ( ) ;
39
+ expect ( datasetNameFive ) . toBeInTheDocument ( ) ;
32
40
} ) ;
33
41
34
42
test ( "row is favorited after clicking on favorite icon" , async ( ) => {
35
43
render ( < AppWrapper /> ) ;
36
- await screen . findByText ( "dhcp1 " ) ;
44
+ await screen . findByText ( "pbench_user_benchmark1 " ) ;
37
45
const starBtn = screen . getAllByRole ( "button" , {
38
46
name : / n o t s t a r r e d / i,
39
47
} ) ;
@@ -43,6 +51,28 @@ test("row is favorited after clicking on favorite icon", async () => {
43
51
name : / s e e f a v o r i t e s b u t t o n / i,
44
52
} ) ;
45
53
fireEvent . click ( favoriteBtn ) ;
46
- const favoriteCell = screen . getAllByRole ( "cell" ) ;
47
- expect ( favoriteCell ) . toHaveLength ( 8 ) ;
54
+ const datasetNameOne = screen . queryByText ( "pbench_user_benchmark1" ) ;
55
+ const datasetNameTwo = screen . queryByText ( "pbench_user_benchmark2" ) ;
56
+ const datasetNameThree = screen . queryByText ( "pbench_user_benchmark3" ) ;
57
+ const datasetNameFour = screen . queryByText ( "pbench_user_benchmark4" ) ;
58
+ const datasetNameFive = screen . queryByText ( "pbench_user_benchmark5" ) ;
59
+ expect ( datasetNameOne ) . toBeInTheDocument ( ) ;
60
+ expect ( datasetNameTwo ) . toBeInTheDocument ( ) ;
61
+ expect ( datasetNameThree ) . not . toBeInTheDocument ( ) ;
62
+ expect ( datasetNameFour ) . not . toBeInTheDocument ( ) ;
63
+ expect ( datasetNameFive ) . not . toBeInTheDocument ( ) ;
64
+ } ) ;
65
+ test ( "data is filtered based on value in search box" , async ( ) => {
66
+ render ( < AppWrapper /> ) ;
67
+ await screen . findByText ( "pbench_user_benchmark1" ) ;
68
+ const searchBox = screen . getByPlaceholderText ( / s e a r c h d a t a s e t / i) ;
69
+ fireEvent . change ( searchBox , { target : { value : "pbench_user_benchmark2" } } ) ;
70
+ const searchBtn = screen . getByRole ( "button" , {
71
+ name : / s e a r c h B u t t o n / i,
72
+ } ) ;
73
+ fireEvent . click ( searchBtn ) ;
74
+ const datasetNameTwo = screen . queryByText ( "pbench_user_benchmark2" ) ;
75
+ const datasetNameThree = screen . queryByText ( "pbench_user_benchmark3" ) ;
76
+ expect ( datasetNameTwo ) . toBeInTheDocument ( ) ;
77
+ expect ( datasetNameThree ) . not . toBeInTheDocument ( ) ;
48
78
} ) ;
0 commit comments