From 362f2fa280fdab210074e9a7e01dde6187924d29 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sat, 22 Apr 2023 00:49:03 +0200 Subject: feat(new-tool): diff of two json objects --- src/tools/json-diff/json-diff.e2e.spec.ts | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/tools/json-diff/json-diff.e2e.spec.ts (limited to 'src/tools/json-diff/json-diff.e2e.spec.ts') diff --git a/src/tools/json-diff/json-diff.e2e.spec.ts b/src/tools/json-diff/json-diff.e2e.spec.ts new file mode 100644 index 0000000..5370060 --- /dev/null +++ b/src/tools/json-diff/json-diff.e2e.spec.ts @@ -0,0 +1,39 @@ +import { test, expect } from '@playwright/test'; + +test.describe('Tool - JSON diff', () => { + test.beforeEach(async ({ page }) => { + await page.goto('/json-diff'); + }); + + test('Has correct title', async ({ page }) => { + await expect(page).toHaveTitle('JSON diff - IT Tools'); + }); + + test('Identical JSONs have a custom result message', async ({ page }) => { + await page.getByTestId('leftJson').fill('{"foo":"bar"}'); + await page.getByTestId('rightJson').fill('{ "foo": "bar" } '); + + const result = await page.getByTestId('diff-result').innerText(); + + expect(result).toContain('The provided JSONs are the same'); + }); + + test('Different JSONs have differences listed', async ({ page }) => { + await page.getByTestId('leftJson').fill('{"foo":"bar"}'); + await page.getByTestId('rightJson').fill('{"foo":"buz","baz":"qux"}'); + + const result = await page.getByTestId('diff-result').innerText(); + + expect(result).toContain(`{\nfoo: "bar""buz",\nbaz: "qux",\n},`); + }); + + test('Different JSONs have only differences listed when "Only show differences" is checked', async ({ page }) => { + await page.getByTestId('leftJson').fill('{"foo":"bar"}'); + await page.getByTestId('rightJson').fill('{"foo":"bar","baz":"qux"}'); + await page.getByRole('switch').click(); + + const result = await page.getByTestId('diff-result').innerText(); + + expect(result).toContain(`{\nbaz: "qux",\n},`); + }); +}); -- cgit v1.2.3