-
Notifications
You must be signed in to change notification settings - Fork 480
/
summaryTest.js
79 lines (71 loc) · 2.5 KB
/
summaryTest.js
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import React from 'react';
import {shallow} from 'enzyme';
import {Summary} from '@cdo/apps/code-studio/pd/application_dashboard/summary';
import {expect} from 'chai';
import sinon from 'sinon';
describe("Summary", () => {
const fakeRouter = {
createHref() {}
};
const context = {
router: fakeRouter
};
const createSummary = () => (shallow(
<Summary regionalPartnerName="A Great Organization" />,
{ context },
));
it("Initially renders a spinner", () => {
let summary = createSummary();
expect(summary.find('Spinner')).to.have.length(1);
});
it("Generates 5 tables after hearing from server", () => {
let server = sinon.fakeServer.create();
server.respondWith("GET", '/api/v1/pd/applications?regional_partner_filter=none',
[
200,
{"Content-Type": "application/json"},
JSON.stringify({
csf_facilitators: {
unreviewed: { locked: 0, unlocked: 1 },
pending: { locked: 0, unlocked: 0 },
accepted: { locked: 0, unlocked: 0 },
declined: { locked: 0, unlocked: 0 },
waitlisted: { locked: 0, unlocked: 0 },
},
csd_facilitators: {
unreviewed: { locked: 0, unlocked: 0 },
pending: { locked: 0, unlocked: 0 },
accepted: { locked: 0, unlocked: 0 },
declined: { locked: 0, unlocked: 0 },
waitlisted: { locked: 0, unlocked: 0 },
},
csp_facilitators: {
unreviewed: { locked: 0, unlocked: 0 },
pending: { locked: 0, unlocked: 0 },
accepted: { locked: 0, unlocked: 0 },
declined: { locked: 0, unlocked: 0 },
waitlisted: { locked: 0, unlocked: 0 },
},
csd_teachers: {
unreviewed: { locked: 0, unlocked: 1 },
pending: { locked: 0, unlocked: 0 },
accepted: { locked: 0, unlocked: 0 },
declined: { locked: 0, unlocked: 0 },
waitlisted: { locked: 0, unlocked: 0 },
},
csp_teachers: {
unreviewed: { locked: 1, unlocked: 1 },
pending: { locked: 0, unlocked: 0 },
accepted: { locked: 0, unlocked: 0 },
declined: { locked: 0, unlocked: 0 },
waitlisted: { locked: 0, unlocked: 0 },
},
})
]
);
let summary = createSummary();
server.respond();
expect(summary.find('.row').children()).to.have.length(5);
expect(summary.find('Spinner')).to.have.length(0);
});
});