44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
|
///<reference types="jest" />
|
||
|
import * as React from "react";
|
||
|
import { RenderResult, render, act } from "@testing-library/react";
|
||
|
import { assert } from "chai";
|
||
|
import { UserCard } from "../../../src/webparts/graphAutoBatching/components/UserCard";
|
||
|
|
||
|
describe("<UserCard />", () => {
|
||
|
test("should render user with presence", async ()=>{
|
||
|
let graphClient = {
|
||
|
get: async (url: string)=>Promise.resolve({})
|
||
|
};
|
||
|
|
||
|
jest.spyOn(graphClient, "get").mockReturnValueOnce(Promise.resolve({
|
||
|
status: 200,
|
||
|
ok: true,
|
||
|
json: ()=>Promise.resolve({
|
||
|
displayName: "Marcin Wojciechowski",
|
||
|
jobTitle: "Senior Software Engineer",
|
||
|
})
|
||
|
}));
|
||
|
jest.spyOn(graphClient, "get").mockReturnValueOnce(Promise.resolve({
|
||
|
status: 200,
|
||
|
ok: true,
|
||
|
text: ()=>Promise.resolve(`"someEncodedContent"`)
|
||
|
}));
|
||
|
jest.spyOn(graphClient, "get").mockReturnValueOnce(Promise.resolve({
|
||
|
status: 200,
|
||
|
ok: true,
|
||
|
json: ()=>Promise.resolve({
|
||
|
availability: "Available"
|
||
|
})
|
||
|
}))
|
||
|
|
||
|
let userCard: RenderResult;
|
||
|
await act(async ()=>{
|
||
|
userCard = render(<UserCard graphClient={graphClient as any} userQuery={"/me"} />);
|
||
|
});
|
||
|
const displayNameDiv = userCard.getByText("Marcin Wojciechowski");
|
||
|
assert.isNotNull(displayNameDiv);
|
||
|
|
||
|
const presenceDiv = userCard.getByText("Available");
|
||
|
assert.isNotNull(presenceDiv);
|
||
|
});
|
||
|
});
|