-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAvatar.test.tsx
More file actions
36 lines (32 loc) · 1.1 KB
/
Avatar.test.tsx
File metadata and controls
36 lines (32 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import React from "react";
import { Avatar } from "./Avatar";
import { render, screen } from "@testing-library/react";
import "@testing-library/jest-dom";
const defaultArgs = {
name: "John Doe",
size: 50,
round: 25,
};
describe("========== Avatar Component - RUNNING TESTS ==========", () => {
test("Renders with image avatar", () => {
const imgElement = (
<img src="./images/default-avatar.png" alt="Placeholder" />
);
render(<Avatar imgElement={imgElement} {...defaultArgs} />);
const avatar = screen.getByRole("img");
expect(avatar).toHaveAttribute("src", "./images/default-avatar.png");
});
test("Renders with initials avatar", () => {
render(<Avatar {...defaultArgs} />);
const avatar = screen.getByText("JD");
expect(avatar).toBeInTheDocument();
});
test("Sets alt text for image avatar", () => {
const imgElement = (
<img src="./images/default-avatar.png" alt="User avatar" />
);
render(<Avatar imgElement={imgElement} {...defaultArgs} />);
const avatar = screen.getByAltText("User avatar");
expect(avatar).toBeInTheDocument();
});
});