Skip to content

Commit 98bbb96

Browse files
committed
test update
1 parent 67caa64 commit 98bbb96

File tree

4 files changed

+179
-48
lines changed

4 files changed

+179
-48
lines changed

__tests__/composerTest.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

__tests__/historyContainerTest.js

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
import React from "react";
2+
import { createStore } from "redux";
3+
import { Provider } from "react-redux";
4+
import format from "date-fns/format";
5+
import uuid from "uuid/v4";
6+
import { render, screen, fireEvent } from "./test-utils.js";
7+
import HistoryContainer from "../src/client/components/containers/HistoryContainer";
8+
import HistoryDate from "../src/client/components/containers/HistoryDate";
9+
import * as actions from "../src/client/actions/actions.js";
10+
import "@testing-library/jest-dom/extend-expect";
11+
import store from "../src/client/store";
12+
import { getAllByAltText, queryAllByRole } from "@testing-library/react";
13+
14+
describe("history container test", () => {
15+
//generate date for today
16+
let today = new Date();
17+
//generate date for yesterday
18+
let yesterday = new Date();
19+
yesterday.setDate(yesterday.getDate() - 1);
20+
//generate date for two days prior
21+
let twoDaysAgo = new Date();
22+
twoDaysAgo.setDate(twoDaysAgo.getDate() - 2);
23+
24+
beforeEach(() => {
25+
render(<HistoryContainer />, {
26+
initialState: {
27+
history: [
28+
{
29+
date: format(today, "MM/DD/YYYY"),
30+
history: [
31+
{
32+
id: 1,
33+
created_at: today,
34+
url: "http://google.com",
35+
request: {
36+
method: "GET",
37+
},
38+
},
39+
],
40+
},
41+
{
42+
date: format(yesterday, "MM/DD/YYYY"),
43+
history: [
44+
{
45+
id: 2,
46+
created_at: yesterday,
47+
url: "http://facebook.com",
48+
request: {
49+
method: "GET",
50+
},
51+
},
52+
],
53+
},
54+
{
55+
date: format(twoDaysAgo, "MM/DD/YYYY"),
56+
history: [
57+
{
58+
id: 3,
59+
created_at: twoDaysAgo,
60+
url: "http://instagram.com",
61+
request: {
62+
method: "GET",
63+
},
64+
},
65+
],
66+
},
67+
],
68+
},
69+
});
70+
});
71+
test("renders history from store", () => {
72+
render(<HistoryContainer />);
73+
// expect(render(<HistoryContainer />)).toHaveTextContent(/^Text Content$/);
74+
expect(screen.queryAllByRole("heading", { name: "queryDate" }).length).toBe(
75+
3
76+
);
77+
});
78+
});
79+
//test if container renders
80+
// test("renders", () => {
81+
// render(<HistoryContainer />);
82+
83+
// screen.debug();
84+
// });
85+
86+
//
87+
88+
/* FOR EACH COMPONENT - UNIT TESTING */
89+
//renders
90+
//buttons work (clear history, etc.)
91+
//forms function (accepts input)
92+
//state updates appropriately

__tests__/test-utils.js

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,61 @@ import React from "react";
33
import { render as rtlRender } from "@testing-library/react";
44
import { createStore } from "redux";
55
import { Provider } from "react-redux";
6+
import format from "date-fns/format";
67
import reducers from "../src/client/reducers/index.js";
78

9+
let today = new Date();
10+
//generate date for yesterday
11+
let yesterday = new Date();
12+
yesterday.setDate(yesterday.getDate() - 1);
13+
//generate date for two days prior
14+
let twoDaysAgo = new Date();
15+
twoDaysAgo.setDate(twoDaysAgo.getDate() - 2);
16+
817
const initialState = {
918
currentTab: "First Tab",
1019
reqResArray: [],
11-
history: [],
20+
history: [
21+
{
22+
date: format(today, "MM/DD/YYYY"),
23+
history: [
24+
{
25+
id: 1,
26+
created_at: today,
27+
url: "http://google.com",
28+
request: {
29+
method: "GET",
30+
},
31+
},
32+
],
33+
},
34+
{
35+
date: format(yesterday, "MM/DD/YYYY"),
36+
history: [
37+
{
38+
id: 2,
39+
created_at: yesterday,
40+
url: "http://facebook.com",
41+
request: {
42+
method: "GET",
43+
},
44+
},
45+
],
46+
},
47+
{
48+
date: format(twoDaysAgo, "MM/DD/YYYY"),
49+
history: [
50+
{
51+
id: 3,
52+
created_at: twoDaysAgo,
53+
url: "http://instagram.com",
54+
request: {
55+
method: "GET",
56+
},
57+
},
58+
],
59+
},
60+
],
1261
collections: [],
1362
warningMessage: "",
1463
newRequestFields: {
Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import React, { Component } from 'react';
2-
import History from './History.jsx';
3-
import parse from 'date-fns/parse';
4-
import isYesterday from 'date-fns/is_yesterday';
5-
import isToday from 'date-fns/is_today';
6-
import format from 'date-fns/format';
1+
import React, { Component } from "react";
2+
import History from "./History.jsx";
3+
import parse from "date-fns/parse";
4+
import isYesterday from "date-fns/is_yesterday";
5+
import isToday from "date-fns/is_today";
6+
import format from "date-fns/format";
77

88
class HistoryDate extends Component {
99
constructor(props) {
@@ -13,38 +13,48 @@ class HistoryDate extends Component {
1313
}
1414

1515
focusOnForm(event) {
16-
let composerUrlField = document.querySelector('.composer_url_input');
17-
composerUrlField.focus()
16+
let composerUrlField = document.querySelector(".composer_url_input");
17+
composerUrlField.focus();
1818
}
1919

2020
render() {
21-
let current = this.props.history.find(a => a.date === this.props.content.date);
21+
let current = this.props.history.find(
22+
(a) => a.date === this.props.content.date
23+
);
2224
let date = parse(current.date);
2325

24-
if (isToday(date)) { date = 'Today' } // If the date matches todays date render the word "Today"
25-
else if (isYesterday(date)) { date = 'Yesterday' }
26-
else { date = format(date, 'ddd, MMM D, YYYY') }
26+
if (isToday(date)) {
27+
date = "Today";
28+
} // If the date matches todays date render the word "Today"
29+
else if (isYesterday(date)) {
30+
date = "Yesterday";
31+
} else {
32+
date = format(date, "ddd, MMM D, YYYY");
33+
}
2734

2835
let histArray = current.history.map((history, i) => {
29-
return <History
30-
content={history} key={i}
31-
focusOnForm={this.focusOnForm}
32-
deleteFromHistory={this.props.deleteFromHistory}
33-
setNewRequestFields={this.props.setNewRequestFields}
34-
setNewRequestHeaders={this.props.setNewRequestHeaders}
35-
setNewRequestCookies={this.props.setNewRequestCookies}
36-
setNewRequestBody={this.props.setNewRequestBody}
37-
setNewRequestStreams={this.props.setNewRequestStreams}
38-
/>
39-
})
36+
return (
37+
<History
38+
content={history}
39+
key={i}
40+
focusOnForm={this.focusOnForm}
41+
deleteFromHistory={this.props.deleteFromHistory}
42+
setNewRequestFields={this.props.setNewRequestFields}
43+
setNewRequestHeaders={this.props.setNewRequestHeaders}
44+
setNewRequestCookies={this.props.setNewRequestCookies}
45+
setNewRequestBody={this.props.setNewRequestBody}
46+
setNewRequestStreams={this.props.setNewRequestStreams}
47+
/>
48+
);
49+
});
4050

4151
return (
42-
<div className={'historyDate'}>
43-
<h1>{date}</h1>
52+
<div className="historyDate">
53+
<h1 role="queryDate">{date}</h1>
4454
{histArray}
4555
</div>
46-
)
56+
);
4757
}
4858
}
4959

50-
export default HistoryDate;
60+
export default HistoryDate;

0 commit comments

Comments
 (0)