mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Leaflet (or maybe react-leaflet?) isn't very testable, so we can really only test that mocks were called with the right props for the leaflet components we expect, but that's still better than nothing.
54 lines
979 B
TypeScript
54 lines
979 B
TypeScript
import Aircraft from "./Aircraft";
|
|
import { render } from "@testing-library/react";
|
|
import { Icon } from "leaflet";
|
|
|
|
const mockMarker = jest.fn();
|
|
jest.mock("react-leaflet", () => ({
|
|
Marker: (props: any) => {
|
|
mockMarker(props);
|
|
},
|
|
}));
|
|
|
|
test("grounded aircraft do not render", async () => {
|
|
const { container } = render(
|
|
<Aircraft
|
|
flight={{
|
|
id: "",
|
|
blue: true,
|
|
position: undefined,
|
|
sidc: "",
|
|
waypoints: [],
|
|
}}
|
|
/>
|
|
);
|
|
|
|
expect(container).toBeEmptyDOMElement();
|
|
});
|
|
|
|
test("in-flight aircraft render", async () => {
|
|
render(
|
|
<Aircraft
|
|
flight={{
|
|
id: "",
|
|
blue: true,
|
|
position: {
|
|
lat: 10,
|
|
lng: 20,
|
|
},
|
|
sidc: "foobar",
|
|
waypoints: [],
|
|
}}
|
|
/>
|
|
);
|
|
|
|
expect(mockMarker).toHaveBeenCalledWith(
|
|
expect.objectContaining({
|
|
position: {
|
|
lat: 10,
|
|
lng: 20,
|
|
},
|
|
icon: expect.any(Icon),
|
|
})
|
|
);
|
|
});
|