diff --git a/mocks/handler.js b/mocks/handler.js
index 169b795..89071d4 100644
--- a/mocks/handler.js
+++ b/mocks/handler.js
@@ -1,4 +1,4 @@
-import {GET_PERMISSIONS_LIST, GET_USER_ROUTE,SET_USER_PASSWORD} from "@/core/data/apiRoutes";
+import {GET_PERMISSIONS_LIST, GET_ROLE_MANAGEMENT, GET_USER_ROUTE, SET_USER_PASSWORD} from "@/core/data/apiRoutes";
import {rest} from "msw";
export const handler = [
@@ -32,5 +32,51 @@ export const handler = [
}
))
}),
+ rest.get(GET_ROLE_MANAGEMENT, (req, res, ctx) => {
+ return res(
+ ctx.json(
+ {
+ data : [
+ {
+ created_at: "2023-10-01T07:20:07.000000Z",
+ guard_name: "api",
+ id: 1,
+ name: "admin",
+ name_fa: "ادمین",
+ permissions: [
+ {
+ id: 1,
+ name: "manage_users",
+ },
+ {
+ id: 2,
+ name: "manage_roles",
+ },
+ ],
+ updated_at: "2023-10-10T07:38:12.000000Z"
+ },
+ {
+ created_at: "2023-10-01T07:20:07.000000Z",
+ guard_name: "api",
+ id: 2,
+ name: "manager",
+ name_fa: "مدیر",
+ permissions: [
+ {
+ id: 1,
+ name: "manage_users",
+ },
+ {
+ id: 2,
+ name: "manage_roles",
+ },
+ ],
+ updated_at: "2023-10-10T07:38:12.000000Z"
+ }
+ ]
+ }
+ ),
+ );
+ }),
]
\ No newline at end of file
diff --git a/src/components/dashboard/role-management/Form/CreateForm/__test__/CreateContent.test.js b/src/components/dashboard/role-management/Form/CreateForm/__test__/CreateContent.test.js
index 3e31b8f..610e224 100644
--- a/src/components/dashboard/role-management/Form/CreateForm/__test__/CreateContent.test.js
+++ b/src/components/dashboard/role-management/Form/CreateForm/__test__/CreateContent.test.js
@@ -4,45 +4,51 @@ import CreateContent from "@/components/dashboard/role-management/Form/CreateFor
describe("Create Content component from Create Form Component in Role Management Component",()=>{
describe("Rendering", ()=>{
- it('should see AddDialog text in the top ', () => {
+ it('should see AddDialog text in the top ', async () => {
render(
)
const textElement = screen.queryByText("افزودن")
- expect(textElement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(textElement).toBeInTheDocument()
+ })
});
- it('should see name_en text', () => {
+ it('should see name_en text', async () => {
render(
)
const textElement = screen.queryByLabelText("نام انگلیسی")
- expect(textElement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(textElement).toBeInTheDocument()
+ })
});
- it('should see name_fa text', () => {
+ it('should see name_fa text', async () => {
render(
)
const textElement = screen.queryByLabelText("نام فارسی")
- expect(textElement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(textElement).toBeInTheDocument()
+ })
});
- it('should see name_fa text', () => {
+ it('should see name_fa text', async () => {
render(
)
const textElement = screen.queryByLabelText("نام فارسی")
- expect(textElement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(textElement).toBeInTheDocument()
+ })
});
-
})
-
describe("Behavior",()=>{
it('should see what fill in the name_en input', async () => {
render(
@@ -81,8 +87,7 @@ describe("Create Content component from Create Form Component in Role Management
const checkboxElement = await screen.findAllByTestId("PermissionList-checkbox")
expect(checkboxElement).toHaveLength(2)
});
-
- it('should get checked if permission list item get clicked', () => {
+ it('should get checked if permission list item get clicked', async () => {
render(
@@ -90,11 +95,15 @@ describe("Create Content component from Create Form Component in Role Management
)
const checkboxElement = screen.getByLabelText("مدیریت کارتابل رییس اداره مسافری استان")
- expect(checkboxElement).not.toBeChecked();
+ await waitFor(()=>{
+ expect(checkboxElement).not.toBeChecked();
+ })
fireEvent.click(checkboxElement);
- expect(checkboxElement).toBeChecked();
+ await waitFor(()=>{
+ expect(checkboxElement).toBeChecked();
+ })
});
})
describe("Validation",()=>{
diff --git a/src/components/dashboard/role-management/Form/CreateForm/__test__/index.test.js b/src/components/dashboard/role-management/Form/CreateForm/__test__/index.test.js
index b4f0e82..7bc9db2 100644
--- a/src/components/dashboard/role-management/Form/CreateForm/__test__/index.test.js
+++ b/src/components/dashboard/role-management/Form/CreateForm/__test__/index.test.js
@@ -1,21 +1,23 @@
-import {fireEvent, queryByText, render, screen} from "@testing-library/react";
+import {fireEvent, queryByText, render, screen, waitFor} from "@testing-library/react";
import CreateForm from "@/components/dashboard/role-management/Form/CreateForm";
import MockAppWithProviders from "../../../../../../../mocks/AppWithProvider";
describe("Create Form Component from Role Management Component",()=>{
describe("Rendering",()=>{
- it('should see Dialog text', () => {
+ it('should see Dialog text', async () => {
render(
)
const textElement = screen.queryByText("افزودن")
- expect(textElement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(textElement).toBeInTheDocument()
+ })
});
- it('should see Tooltip text when mouse over', () => {
+ it('should see Tooltip text when mouse over', async () => {
render(
@@ -24,7 +26,9 @@ describe("Create Form Component from Role Management Component",()=>{
const buttonElement = screen.getByText("افزودن");
fireEvent.mouseOver(buttonElement);
const tooltipTextElement = screen.getByText("افزودن");
- expect(tooltipTextElement).toBeInTheDocument();
+ await waitFor(()=>{
+ expect(tooltipTextElement).toBeInTheDocument()
+ })
});
})
})
\ No newline at end of file
diff --git a/src/components/dashboard/role-management/Form/UpdateForm/__test__/UpdateContent.test.js b/src/components/dashboard/role-management/Form/UpdateForm/__test__/UpdateContent.test.js
index d36fe05..caaa470 100644
--- a/src/components/dashboard/role-management/Form/UpdateForm/__test__/UpdateContent.test.js
+++ b/src/components/dashboard/role-management/Form/UpdateForm/__test__/UpdateContent.test.js
@@ -36,7 +36,7 @@ describe("Create Content component from Create Form Component in Role Management
)
const textElement = screen.queryByText("ویرایش")
- act(()=>{
+ await waitFor(()=>{
expect(textElement).toBeInTheDocument()
})
});
@@ -47,7 +47,7 @@ describe("Create Content component from Create Form Component in Role Management
)
const textElement = screen.queryByLabelText("نام انگلیسی")
- act(()=>{
+ await waitFor(()=>{
expect(textElement).toBeInTheDocument()
})
});
@@ -58,29 +58,29 @@ describe("Create Content component from Create Form Component in Role Management
)
const textElement = screen.queryByLabelText("نام فارسی")
- act(()=>{
+ await waitFor(()=>{
expect(textElement).toBeInTheDocument()
})
});
- it('should see update text in the submit button ', () => {
+ it('should see update text in the submit button ', async () => {
render(
)
const buttonElement = screen.queryByText("ثبت")
- act(()=>{
+ await waitFor(()=>{
expect(buttonElement).toBeInTheDocument()
})
});
- it('should see cancel text in the cancel button ', () => {
+ it('should see cancel text in the cancel button ', async () => {
render(
)
const buttonElement = screen.queryByText("بستن")
- act(()=>{
+ await waitFor(()=>{
expect(buttonElement).toBeInTheDocument()
})
});
@@ -96,7 +96,7 @@ describe("Create Content component from Create Form Component in Role Management
const nameEnglishInput = screen.getByLabelText('نام انگلیسی');
fireEvent.change(nameEnglishInput, {target: {value: 'testuser'}});
- await act(()=>{
+ await waitFor(()=>{
// Simulate user input
expect(nameEnglishInput).toHaveValue('testuser');
})
@@ -110,7 +110,7 @@ describe("Create Content component from Create Form Component in Role Management
const nameFarsiInput = screen.getByLabelText('نام فارسی');
fireEvent.change(nameFarsiInput, {target: {value: 'testuser'}});
- await act(()=>{
+ await waitFor(()=>{
// Simulate user input
expect(nameFarsiInput).toHaveValue('testuser');
})
@@ -122,35 +122,43 @@ describe("Create Content component from Create Form Component in Role Management
)
const checkboxElement = await screen.findAllByTestId("PermissionList-checkbox")
- expect(checkboxElement).toHaveLength(2)
+ await waitFor(()=>{
+ expect(checkboxElement).toHaveLength(2)
+ })
});
- it('should see the value of the name_en that pass to input value', () => {
+ it('should see the value of the name_en that pass to input value', async () => {
render(
)
const name_enElement = screen.getByLabelText("نام انگلیسی")
- expect(name_enElement).toHaveValue("manage_passenger_office_navgan")
+ await waitFor(()=>{
+ expect(name_enElement).toHaveValue("manage_passenger_office_navgan")
+ })
});
- it('should see the value of the name_fa that pass to input value', () => {
+ it('should see the value of the name_fa that pass to input value', async () => {
render(
)
const name_enElement = screen.getByLabelText("نام فارسی")
- expect(name_enElement).toHaveValue("مدیریت کارتابل رییس اداره مسافری استان")
+ await waitFor(()=>{
+ expect(name_enElement).toHaveValue("مدیریت کارتابل رییس اداره مسافری استان")
+ })
});
- it('should get checked if the id exists in permission lists', () => {
+ it('should get checked if the id exists in permission lists', async () => {
render(
)
const checkboxElement = screen.getByLabelText("مدیریت کارتابل رییس اداره مسافری استان")
+ await waitFor(()=>{
+ expect(checkboxElement).toBeChecked();
+ })
- expect(checkboxElement).toBeChecked();
});
})
describe("Validation", ()=>{
diff --git a/src/components/dashboard/role-management/__test__/RoleManagementComponent.test.js b/src/components/dashboard/role-management/__test__/RoleManagementComponent.test.js
index 2a50a99..a60dc01 100644
--- a/src/components/dashboard/role-management/__test__/RoleManagementComponent.test.js
+++ b/src/components/dashboard/role-management/__test__/RoleManagementComponent.test.js
@@ -1,53 +1,63 @@
-import {render, screen} from "@testing-library/react";
+import {render, screen, waitFor} from "@testing-library/react";
import MockAppWithProviders from "../../../../../mocks/AppWithProvider";
import RoleManagementComponent from "@/components/dashboard/role-management/RoleManagementComponent";
describe("Role Management", ()=>{
describe("Rendering", ()=>{
- it('should see id title of data table', () => {
+ it('should see id title of data table', async () => {
render(
)
const idEelement = screen.queryByText("کد یکتا")
- expect(idEelement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(idEelement).toBeInTheDocument()
+ })
});
- it('should see name title of data table', () => {
+ it('should see name title of data table', async () => {
render(
)
const nameEelement = screen.queryByText("نام انگلیسی")
- expect(nameEelement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(nameEelement).toBeInTheDocument()
+ })
});
- it('should see name_fa title of data table', () => {
+ it('should see name_fa title of data table', async () => {
render(
)
const name_faEelement = screen.queryByText("نام فارسی")
- expect(name_faEelement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(name_faEelement).toBeInTheDocument()
+ })
});
- it('should see created at title of data table', () => {
+ it('should see created at title of data table', async () => {
render(
)
const createdEelement = screen.queryByText("تاریخ درخواست")
- expect(createdEelement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(createdEelement).toBeInTheDocument()
+ })
});
- it('should see updated at title of data table', () => {
+ it('should see updated at title of data table', async () => {
render(
)
const updateEelement = screen.queryByText("تاریخ بروزرسانی")
- expect(updateEelement).toBeInTheDocument()
+ await waitFor(()=>{
+ expect(updateEelement).toBeInTheDocument()
+ })
});
})
})
\ No newline at end of file