Skip to content

Commit

Permalink
fix: add more tests for metadata hook functionality (#13145)
Browse files Browse the repository at this point in the history
  • Loading branch information
Parkreiner committed May 3, 2024
1 parent 09f00c0 commit 34a3bdc
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions site/src/hooks/useEmbeddedMetadata.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,39 @@ describe(useEmbeddedMetadata.name, () => {
cleanupTags();
});

it("Will delete the original metadata node when you try deleting a metadata state value", () => {
const key = "aardvark";
const tagToDelete: MetadataKey = "user";

const cleanupTags = seedInitialMetadata(key);
const { result } = renderMetadataHook(key);

const query = `meta[${key}=${tagToDelete}]`;
let userNode = document.querySelector(query);
expect(userNode).not.toBeNull();

act(() => result.current.clearMetadataByKey(tagToDelete));
userNode = document.querySelector(query);
expect(userNode).toBeNull();

cleanupTags();
});

it("Will not notify subscribers if you try deleting a metadata value that does not exist (or has already been deleted)", () => {
const key = "giraffe";
const tagToDelete: MetadataKey = "entitlements";

const cleanupTags = seedInitialMetadata(key);
const { result } = renderMetadataHook(key);
act(() => result.current.clearMetadataByKey(tagToDelete));

const resultBeforeNoOp = result.current.metadata;
act(() => result.current.clearMetadataByKey(tagToDelete));
expect(result.current.metadata).toBe(resultBeforeNoOp);

cleanupTags();
});

// Need to guarantee this, or else we could have a good number of bugs in the
// React UI
it("Always treats metadata as immutable values during all deletions", () => {
Expand Down

0 comments on commit 34a3bdc

Please sign in to comment.