forked from keycloak/keycloak-ui
-
Notifications
You must be signed in to change notification settings - Fork 1
/
MapperDialog.test.tsx
75 lines (64 loc) · 2.37 KB
/
MapperDialog.test.tsx
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
import React from "react";
import { mount } from "enzyme";
import { Button } from "@patternfly/react-core";
import serverInfo from "../../../context/server-info/__tests__/mock.json";
import { ServerInfoContext } from "../../../context/server-info/ServerInfoProvider";
import { AddMapperDialogProps, useAddMapperDialog } from "../MapperDialog";
describe("<MapperDialog/>", () => {
const Test = (args: AddMapperDialogProps) => {
const [toggle, Dialog] = useAddMapperDialog(args);
return (
<ServerInfoContext.Provider value={serverInfo}>
<Dialog />
<Button id="open" onClick={toggle}>
Show
</Button>
</ServerInfoContext.Provider>
);
};
it("should return empty array when selecting nothing", () => {
const onConfirm = jest.fn();
const container = mount(
<Test buildIn={true} protocol="openid-connect" onConfirm={onConfirm} />
);
container.find("button#open").simulate("click");
expect(container).toMatchSnapshot();
container.find("button#modal-confirm").simulate("click");
expect(onConfirm).toBeCalledWith([]);
});
it("should return array with selected build in protocol mapping", () => {
const onConfirm = jest.fn();
const protocol = "openid-connect";
const container = mount(
<Test buildIn={true} protocol={protocol} onConfirm={onConfirm} />
);
container.find("button#open").simulate("click");
container
.find("input[name='checkrow0']")
.simulate("change", { target: { value: true } });
container
.find("input[name='checkrow1']")
.simulate("change", { target: { value: true } });
container.find("button#modal-confirm").simulate("click");
expect(onConfirm).toBeCalledWith([
serverInfo.builtinProtocolMappers[protocol][0],
serverInfo.builtinProtocolMappers[protocol][1],
]);
});
it("should return selected protocol mapping type on click", () => {
const onConfirm = jest.fn();
const protocol = "openid-connect";
const container = mount(
<Test buildIn={false} protocol={protocol} onConfirm={onConfirm} />
);
container.find("button#open").simulate("click");
expect(container).toMatchSnapshot();
container
.find("div.pf-c-data-list__item-content")
.first()
.simulate("click");
expect(onConfirm).toBeCalledWith(
serverInfo.protocolMapperTypes[protocol][0]
);
});
});