Skip to content

Commit

Permalink
fix: update tests to handle lowercase and camelcased resource names c…
Browse files Browse the repository at this point in the history
…orrectly
  • Loading branch information
JayBhensdadia committed Jun 8, 2024
1 parent 3c6b21d commit cfd4dd7
Showing 1 changed file with 68 additions and 0 deletions.
68 changes: 68 additions & 0 deletions packages/ui-tests/src/tests/layout/sider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -235,5 +235,73 @@ export const layoutSiderTests = (
return expect(postLink).toHaveStyle("pointer-events: none");
});
});

it("should handle lowercase resource names correctly", async () => {
const { getByText, getAllByText } = render(<SiderElement />, {
wrapper: TestWrapper({
resources: [
{
name: "posts",
list: "/posts",
},
{
name: "users",
list: "/users",
},
],
accessControlProvider: {
can: ({ action, resource }) => {
if (action === "list" && resource === "posts") {
return Promise.resolve({ can: true });
}
if (action === "list" && resource === "users") {
return Promise.resolve({ can: false });
}
return Promise.resolve({ can: false });
},
},
}),
});

const postsElements = await waitFor(() => getAllByText("Posts"));
postsElements.forEach((element) => {
expect(element).toBeInTheDocument();
});
expect(() => getByText("Users")).toThrow();
});

it("should handle camelcased resource names correctly", async () => {
const { getByText, getAllByText } = render(<SiderElement />, {
wrapper: TestWrapper({
resources: [
{
name: "blogPosts",
list: "/blog-posts",
},
{
name: "userProfiles",
list: "/user-profiles",
},
],
accessControlProvider: {
can: ({ action, resource }) => {
if (action === "list" && resource === "blogPosts") {
return Promise.resolve({ can: true });
}
if (action === "list" && resource === "userProfiles") {
return Promise.resolve({ can: false });
}
return Promise.resolve({ can: false });
},
},
}),
});

const blogPostsElements = await waitFor(() => getAllByText("Blog posts"));
blogPostsElements.forEach((element) => {
expect(element).toBeInTheDocument();
});
expect(() => getByText("User profiles")).toThrow();
});
});
};

0 comments on commit cfd4dd7

Please sign in to comment.