diff --git a/dev/src/pages/samples/addMapZoomChangedEvent.tsx b/dev/src/pages/samples/addMapZoomChangedEvent.tsx new file mode 100644 index 00000000..6291f2c0 --- /dev/null +++ b/dev/src/pages/samples/addMapZoomChangedEvent.tsx @@ -0,0 +1,36 @@ +import { Map, ZoomControl } from "react-kakao-maps-sdk" +import useKakaoLoader from "./useKakaoLoader" +import { useState } from "react" + +export default function AddMapZoomChangedEvent() { + useKakaoLoader() + const [result, setResult] = useState("") + + return ( + <> + { + const level = map.getLevel() + setResult(`현재 지도 레벨은 ${level} 입니다`) + }} + > + + +

+ 지도를 확대 또는 축소 해주세요! +

+

{result}

+ + ) +} diff --git a/docs/docs/sample/map/addMapZoomChangedEvent.mdx b/docs/docs/sample/map/addMapZoomChangedEvent.mdx index 40d28080..480e8d12 100644 --- a/docs/docs/sample/map/addMapZoomChangedEvent.mdx +++ b/docs/docs/sample/map/addMapZoomChangedEvent.mdx @@ -9,31 +9,6 @@ sidebar_position: 18 > original docs : https://apis.map.kakao.com/web/sample/addMapZoomChangedEvent/ -```jsx live -function(){ - const Main = () => { - const [level, setLevel] = useState() - return ( - <> - setLevel(map.getLevel())} - > - - - {level &&

{'현재 지도 레벨은 ' + level + ' 입니다'}

} - - ) - } - return (
) -} -``` +import codesource from "!!raw-loader!~samples/addMapZoomChangedEvent.tsx" + +{codesource} diff --git a/packages/react-kakao-maps-sdk/__test__/addMapZoomChangedEvent.spec.ts b/packages/react-kakao-maps-sdk/__test__/addMapZoomChangedEvent.spec.ts new file mode 100644 index 00000000..79629089 --- /dev/null +++ b/packages/react-kakao-maps-sdk/__test__/addMapZoomChangedEvent.spec.ts @@ -0,0 +1,21 @@ +import { test, expect } from "@playwright/test" +import { getTestUrl, waitNetworkIdleWithTimeout } from "./util" + +test("ScreenShot 렌더링 결과 비교", async ({ page }, testInfo) => { + const url = getTestUrl( + "addMapZoomChangedEvent", + testInfo.config.updateSnapshots === "all", + ) + await page.goto(url, { waitUntil: "networkidle" }) + await waitNetworkIdleWithTimeout(page) + await expect(page).toHaveScreenshot() + + await page.getByTitle("확대").click() + await expect(page.locator("#result")).toHaveText("현재 지도 레벨은 2 입니다") + + await page.getByTitle("축소").click() + await waitNetworkIdleWithTimeout(page) + await page.getByTitle("축소").click() + await waitNetworkIdleWithTimeout(page) + await expect(page.locator("#result")).toHaveText("현재 지도 레벨은 4 입니다") +})