Jest + enzyme test for Interval and useefect hook

23 Views Asked by At
  1. How to write test cases for below code
    const getNews = async (page: number) => {
        try {`enter code here`
          setLoader(false);
          console.log(page, 'page');
          const res = await axios.get(
            `url&page=${page}`,
          );
          console.log(res?.data?.hits);
          setTotalPage(res?.data?.nbPages);
          if (page > 0) {
            setNewsData(newsData => [...newsData, ...res?.data?.hits]);
          } else {
            setNewsData(res?.data?.hits);
          }
          setLoader(true);
        } catch (err) {
          setLoader(true);
        }
      };
    
      useEffect(() => {
        let i = 0;
        let limit = 50;
        let id = setInterval(() => {
          i = i + 1;
          if (i < limit) {
            getNews(i);
          } else {
            clearInterval(id);
          }
        }, 1000);
        return () => {
          clearInterval(id);
        };
      }, []);
0

There are 0 best solutions below