+
diff --git a/app/ui/anime-card/favourite-button.tsx b/app/ui/anime-card/favourite-button.tsx
index d1ccf6bf..a7e05f12 100644
--- a/app/ui/anime-card/favourite-button.tsx
+++ b/app/ui/anime-card/favourite-button.tsx
@@ -12,16 +12,19 @@ export default function FavouriteButton() {
);
diff --git a/app/ui/banners/__tests__/banners-showing.test.tsx b/app/ui/banners/__tests__/banners-showing.test.tsx
new file mode 100644
index 00000000..6099929e
--- /dev/null
+++ b/app/ui/banners/__tests__/banners-showing.test.tsx
@@ -0,0 +1,29 @@
+import { render, screen, waitFor } from "@testing-library/react";
+import BannerShowing from "../banners-showing";
+
+test("Проверка баннеров", async () => {
+ render(
+
,
+ );
+ const banner = screen.getAllByTestId("Banners: banner");
+ waitFor(() => {
+ expect(banner[0]).toHaveStyle(
+ "transform: translateX(calc(-100% - 20px`}))",
+ );
+ });
+});
diff --git a/app/ui/banners/banners-showing.tsx b/app/ui/banners/banners-showing.tsx
index 9db10ad9..a063ef73 100644
--- a/app/ui/banners/banners-showing.tsx
+++ b/app/ui/banners/banners-showing.tsx
@@ -20,6 +20,7 @@ export default function BannerShowing({ data }: { data: BannerData[] }) {
{data.map((el) => (
;
-}
diff --git a/app/ui/carousel/__tests__/carousel.test.tsx b/app/ui/carousel/__tests__/carousel.test.tsx
new file mode 100644
index 00000000..d2a29239
--- /dev/null
+++ b/app/ui/carousel/__tests__/carousel.test.tsx
@@ -0,0 +1,52 @@
+import { render, screen, waitFor } from "@testing-library/react";
+import { AnimeCardData } from "@/app/libs/types/anime";
+import userEvent from "@testing-library/user-event";
+import Carousel from "../carousel";
+
+const testData: AnimeCardData[] = [
+ {
+ id: "1",
+ genre: "DRAMA",
+ image_url: "/empty_card.png",
+ name: "Anime test",
+ released_at: "2022-01-01T00:00:00.000",
+ },
+ {
+ id: "2",
+ genre: "DRAMA",
+ image_url: "/empty_card.png",
+ name: "Anime test",
+ released_at: "2022-01-01T00:00:00.000",
+ },
+ {
+ id: "3",
+ genre: "DRAMA",
+ image_url: "/empty_card.png",
+ name: "Anime test",
+ released_at: "2022-01-01T00:00:00.000",
+ },
+ {
+ id: "4",
+ genre: "DRAMA",
+ image_url: "/empty_card.png",
+ name: "Anime test",
+ released_at: "2022-01-01T00:00:00.000",
+ },
+ {
+ id: "5",
+ genre: "DRAMA",
+ image_url: "/empty_card.png",
+ name: "Anime test",
+ released_at: "2022-01-01T00:00:00.000",
+ },
+];
+
+test("Тест карусели", () => {
+ render(
);
+ const next = screen.getByTestId("Carousel: next");
+ const firstCard = screen.getAllByTestId("Carousel: card")[0];
+ userEvent.click(next);
+ waitFor(() => {
+ expect(firstCard).toHaveStyle("transform: translateX(calc(-300% - 60px));");
+ });
+});
diff --git a/app/ui/carousel/carousel.tsx b/app/ui/carousel/carousel.tsx
index fa929421..46dc46d7 100644
--- a/app/ui/carousel/carousel.tsx
+++ b/app/ui/carousel/carousel.tsx
@@ -59,6 +59,7 @@ export default function Carousel({
{animeData.map((el, i) => (
diff --git a/app/ui/navigation/__tests__/sidebar.test.tsx b/app/ui/navigation/__tests__/sidebar.test.tsx
new file mode 100644
index 00000000..d8e63f12
--- /dev/null
+++ b/app/ui/navigation/__tests__/sidebar.test.tsx
@@ -0,0 +1,29 @@
+import { render, screen, waitFor } from "@testing-library/react";
+import userEvent from "@testing-library/user-event";
+import SideBar from "../sidebar";
+
+const mock = jest.fn();
+
+jest.mock("next/navigation", () => ({
+ usePathname() {
+ return mock();
+ },
+}));
+
+test("Проверка навигации", () => {
+ mock.mockImplementation(() => "/home");
+ render(
);
+ const navLinks = screen.getAllByTestId("Sidebar: navlink");
+ const currLink = screen.getByTestId("Sidebar: navlink-curr");
+ waitFor(() => {
+ navLinks.forEach((el) => {
+ expect(el).toHaveStyle("filter: grayscale();");
+ });
+ expect(currLink).not.toHaveStyle("filter: grayscale(100%);");
+ });
+
+ navLinks.forEach((el) => {
+ userEvent.hover(el);
+ waitFor(() => expect(el).not.toHaveStyle("filter: grayscale(100%);"));
+ });
+});
diff --git a/app/ui/navigation/nav-link.tsx b/app/ui/navigation/nav-link.tsx
index d8730e9a..a07b4015 100644
--- a/app/ui/navigation/nav-link.tsx
+++ b/app/ui/navigation/nav-link.tsx
@@ -20,6 +20,7 @@ export default function NavLink({
+