@@ -2,12 +2,7 @@ import { Provider } from "react-redux";
22import store from "store/store" ;
33import { MOCK_DATA } from "utils/mockData" ;
44import 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" ) ;
116const AppWrapper = ( ) => {
127 return (
138 < Provider store = { store } >
@@ -19,21 +14,34 @@ jest.mock("utils/api", () => {
1914 return {
2015 get : ( ) => ( {
2116 data : MOCK_DATA ,
17+ status : 200 ,
2218 } ) ,
2319 } ;
2420} ) ;
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+ } ) ;
2627test ( "data from API is displayed on initial load" , async ( ) => {
2728 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 ( ) ;
3240} ) ;
3341
3442test ( "row is favorited after clicking on favorite icon" , async ( ) => {
3543 render ( < AppWrapper /> ) ;
36- await screen . findByText ( "dhcp1 " ) ;
44+ await screen . findByText ( "pbench_user_benchmark1 " ) ;
3745 const starBtn = screen . getAllByRole ( "button" , {
3846 name : / n o t s t a r r e d / i,
3947 } ) ;
@@ -43,6 +51,28 @@ test("row is favorited after clicking on favorite icon", async () => {
4351 name : / s e e f a v o r i t e s b u t t o n / i,
4452 } ) ;
4553 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 ( ) ;
4878} ) ;
0 commit comments