You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

statsAdComponentUI.test.js 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import * as redux from "react-redux";
  2. import store from "../../store";
  3. import { Router } from "react-router-dom";
  4. import { render } from "@testing-library/react";
  5. import history from "../../store/utils/history";
  6. import StatsAd from "../../components/Ads/StatsAd";
  7. describe("StatsAd render tests", () => {
  8. var props = {
  9. className: "some class",
  10. count: 2,
  11. title: ".NET",
  12. minimumExperience: 1,
  13. createdAt: "20.12.2023",
  14. expiredAt: "28.12.2023",
  15. onShowAdDetails: jest.fn(),
  16. };
  17. const cont = (
  18. <redux.Provider store={store}>
  19. <Router history={history}>
  20. <StatsAd {...props} />
  21. </Router>
  22. </redux.Provider>
  23. );
  24. afterEach(() => {
  25. jest.restoreAllMocks();
  26. });
  27. it("Should render", () => {
  28. const { container } = render(cont);
  29. expect(container.getElementsByClassName("stats-ad")[0]).toBeDefined();
  30. });
  31. it("Should render title", () => {
  32. const { container } = render(cont);
  33. expect(
  34. container.getElementsByClassName("archive-ad-title")[0]
  35. ).toBeDefined();
  36. });
  37. it("Should render date", () => {
  38. const { container } = render(cont);
  39. expect(
  40. container.getElementsByClassName("archive-ad-date")[0]
  41. ).toBeDefined();
  42. });
  43. it("Should render that experience is required because minimumExperience is greater than 0", () => {
  44. const { container } = render(cont);
  45. expect(
  46. container
  47. .getElementsByClassName("archive-ad-experience")[0]
  48. .getElementsByTagName("p")[0].textContent
  49. ).toBe("1+ common.experience");
  50. });
  51. });