-
Notifications
You must be signed in to change notification settings - Fork 670
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #60 from alope107/main
Fix test formatting and data.
- Loading branch information
Showing
3 changed files
with
74 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,53 +1,53 @@ | ||
import React from 'react' | ||
import App from './App' | ||
import { render, screen, fireEvent } from '@testing-library/react' | ||
import React from 'react'; | ||
import App from './App'; | ||
import { render, screen, fireEvent } from '@testing-library/react'; | ||
|
||
describe('Wave 03: clicking like button and rendering App', () => { | ||
test('that the correct number of likes is printed at the top', () => { | ||
// Arrange | ||
const { container } = render(<App />) | ||
let buttons = container.querySelectorAll('button.like') | ||
const { container } = render(<App />); | ||
let buttons = container.querySelectorAll('button.like'); | ||
|
||
// Act | ||
fireEvent.click(buttons[0]) | ||
fireEvent.click(buttons[1]) | ||
fireEvent.click(buttons[10]) | ||
fireEvent.click(buttons[0]); | ||
fireEvent.click(buttons[1]); | ||
fireEvent.click(buttons[10]); | ||
|
||
// Assert | ||
const countScreen = screen.getByText(/3 ❤️s/) | ||
expect(countScreen).not.toBeNull() | ||
}) | ||
const countScreen = screen.getByText(/3 ❤️s/); | ||
expect(countScreen).not.toBeNull(); | ||
}); | ||
|
||
test('clicking button toggles heart and does not affect other buttons', () => { | ||
// Arrange | ||
const { container } = render(<App />) | ||
const buttons = container.querySelectorAll('button.like') | ||
const firstButton = buttons[0] | ||
const lastButton = buttons[buttons.length - 1] | ||
const { container } = render(<App />); | ||
const buttons = container.querySelectorAll('button.like'); | ||
const firstButton = buttons[0]; | ||
const lastButton = buttons[buttons.length - 1]; | ||
|
||
// Act-Assert | ||
|
||
// click the first button | ||
fireEvent.click(firstButton) | ||
expect(firstButton.innerHTML).toEqual('❤️') | ||
fireEvent.click(firstButton); | ||
expect(firstButton.innerHTML).toEqual('❤️'); | ||
|
||
// check that all other buttons haven't changed | ||
for (let i = 1; i < buttons.length; i++) { | ||
expect(buttons[i].innerHTML).toEqual('🤍') | ||
expect(buttons[i].innerHTML).toEqual('🤍'); | ||
} | ||
|
||
// click the first button a few more times | ||
fireEvent.click(firstButton) | ||
expect(firstButton.innerHTML).toEqual('🤍') | ||
fireEvent.click(firstButton) | ||
expect(firstButton.innerHTML).toEqual('❤️') | ||
fireEvent.click(firstButton) | ||
expect(firstButton.innerHTML).toEqual('🤍') | ||
fireEvent.click(firstButton); | ||
expect(firstButton.innerHTML).toEqual('🤍'); | ||
fireEvent.click(firstButton); | ||
expect(firstButton.innerHTML).toEqual('❤️'); | ||
fireEvent.click(firstButton); | ||
expect(firstButton.innerHTML).toEqual('🤍'); | ||
|
||
// click the last button a couple times | ||
fireEvent.click(lastButton) | ||
expect(lastButton.innerHTML).toEqual('❤️') | ||
fireEvent.click(lastButton) | ||
expect(lastButton.innerHTML).toEqual('🤍') | ||
}) | ||
}) | ||
fireEvent.click(lastButton); | ||
expect(lastButton.innerHTML).toEqual('❤️'); | ||
fireEvent.click(lastButton); | ||
expect(lastButton.innerHTML).toEqual('🤍'); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,30 @@ | ||
import React from "react"; | ||
import "@testing-library/jest-dom/extend-expect"; | ||
import ChatEntry from "./ChatEntry"; | ||
import { render, screen, fireEvent, waitFor } from "@testing-library/react"; | ||
import React from 'react'; | ||
import '@testing-library/jest-dom/extend-expect'; | ||
import ChatEntry from './ChatEntry'; | ||
import { render, screen } from '@testing-library/react'; | ||
|
||
describe("Wave 01: ChatEntry", () => { | ||
describe('Wave 01: ChatEntry', () => { | ||
beforeEach(() => { | ||
render( | ||
<ChatEntry | ||
id={7} | ||
sender="Joe Biden" | ||
body="Get out by 8am. I'll count the silverware" | ||
timeStamp="2018-05-18T22:12:03Z" | ||
liked={false} | ||
/> | ||
); | ||
}); | ||
|
||
test("renders without crashing and shows the sender", () => { | ||
test('renders without crashing and shows the sender', () => { | ||
expect(screen.getByText(/Joe Biden/)).toBeInTheDocument(); | ||
}); | ||
|
||
test("that it will display the body", () => { | ||
test('that it will display the body', () => { | ||
expect(screen.getByText(/Get out by 8am/)).toBeInTheDocument(); | ||
}); | ||
|
||
test("that it will display the time", () => { | ||
test('that it will display the time', () => { | ||
expect(screen.getByText(/\d+ years ago/)).toBeInTheDocument(); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters