* #708 apply strictier linting rules and fix simple eslint bugs * #708 fix eslint errors relate to promise * #708 fix eslint import/no-extraneous-dependencies * #708 fix eslint errors of react-hook * #708 enable eslint check for typescript --------- Co-authored-by: lethemanh <lethemanh@lethemanhs-MacBook-Pro.local>
This commit is contained in:
@@ -1,93 +1,93 @@
|
||||
import { RootState } from "@/app/store";
|
||||
import EventDuplication from "@/components/Event/EventDuplicate";
|
||||
import EventPreviewModal from "@/features/Events/EventPreview";
|
||||
import EventPopover from "@/features/Events/EventModal";
|
||||
import { fireEvent, screen, waitFor } from "@testing-library/react";
|
||||
import { renderWithProviders } from "../utils/Renderwithproviders";
|
||||
import { RootState } from '@/app/store'
|
||||
import EventDuplication from '@/components/Event/EventDuplicate'
|
||||
import EventPreviewModal from '@/features/Events/EventPreview'
|
||||
import EventPopover from '@/features/Events/EventModal'
|
||||
import { fireEvent, screen, waitFor } from '@testing-library/react'
|
||||
import { renderWithProviders } from '../utils/Renderwithproviders'
|
||||
|
||||
const day = new Date();
|
||||
const day = new Date()
|
||||
const preloadedState = {
|
||||
user: {
|
||||
userData: {
|
||||
sub: "test",
|
||||
email: "test@test.com",
|
||||
sid: "aiYbWZSk2g0F+LrQeD7Dg4QcUMR8R/zTZdZBiA7N6Ro",
|
||||
openpaasId: "667037022b752d0026472254",
|
||||
sub: 'test',
|
||||
email: 'test@test.com',
|
||||
sid: 'aiYbWZSk2g0F+LrQeD7Dg4QcUMR8R/zTZdZBiA7N6Ro',
|
||||
openpaasId: '667037022b752d0026472254'
|
||||
},
|
||||
organiserData: {
|
||||
cn: "test",
|
||||
cal_address: "mailto:test@test.com",
|
||||
},
|
||||
cn: 'test',
|
||||
cal_address: 'mailto:test@test.com'
|
||||
}
|
||||
},
|
||||
calendars: {
|
||||
list: {
|
||||
"667037022b752d0026472254/cal1": {
|
||||
id: "667037022b752d0026472254/cal1",
|
||||
name: "Calendar",
|
||||
color: "#FF0000",
|
||||
owner: { emails: ["test@test.com"] },
|
||||
'667037022b752d0026472254/cal1': {
|
||||
id: '667037022b752d0026472254/cal1',
|
||||
name: 'Calendar',
|
||||
color: '#FF0000',
|
||||
owner: { emails: ['test@test.com'] },
|
||||
events: {
|
||||
event1: {
|
||||
uid: "event1",
|
||||
URL: "calendars/667037022b752d0026472254/cal1/event1.ics",
|
||||
title: "Test Event",
|
||||
calId: "667037022b752d0026472254/cal1",
|
||||
uid: 'event1',
|
||||
URL: 'calendars/667037022b752d0026472254/cal1/event1.ics',
|
||||
title: 'Test Event',
|
||||
calId: '667037022b752d0026472254/cal1',
|
||||
start: day.toISOString(),
|
||||
end: day.toISOString(),
|
||||
timezone: "UTC",
|
||||
organizer: { cn: "test", cal_address: "test@test.com" },
|
||||
timezone: 'UTC',
|
||||
organizer: { cn: 'test', cal_address: 'test@test.com' },
|
||||
attendee: [
|
||||
{
|
||||
cn: "test",
|
||||
cal_address: "test@test.com",
|
||||
partstat: "NEEDS-ACTION",
|
||||
rsvp: "TRUE",
|
||||
role: "REQ-PARTICIPANT",
|
||||
cutype: "INDIVIDUAL",
|
||||
cn: 'test',
|
||||
cal_address: 'test@test.com',
|
||||
partstat: 'NEEDS-ACTION',
|
||||
rsvp: 'TRUE',
|
||||
role: 'REQ-PARTICIPANT',
|
||||
cutype: 'INDIVIDUAL'
|
||||
},
|
||||
{
|
||||
cn: "John",
|
||||
cal_address: "john@test.com",
|
||||
partstat: "NEEDS-ACTION",
|
||||
rsvp: "TRUE",
|
||||
role: "REQ-PARTICIPANT",
|
||||
cutype: "INDIVIDUAL",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
cn: 'John',
|
||||
cal_address: 'john@test.com',
|
||||
partstat: 'NEEDS-ACTION',
|
||||
rsvp: 'TRUE',
|
||||
role: 'REQ-PARTICIPANT',
|
||||
cutype: 'INDIVIDUAL'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
pending: false,
|
||||
},
|
||||
} as unknown as RootState;
|
||||
pending: false
|
||||
}
|
||||
} as unknown as RootState
|
||||
|
||||
describe("EventDuplication", () => {
|
||||
it("calls onOpenDuplicate when button clicked", () => {
|
||||
const handleClose = jest.fn();
|
||||
const onOpenDuplicate = jest.fn();
|
||||
describe('EventDuplication', () => {
|
||||
it('calls onOpenDuplicate when button clicked', () => {
|
||||
const handleClose = jest.fn()
|
||||
const onOpenDuplicate = jest.fn()
|
||||
renderWithProviders(
|
||||
<EventDuplication
|
||||
event={
|
||||
preloadedState.calendars.list["667037022b752d0026472254/cal1"].events
|
||||
preloadedState.calendars.list['667037022b752d0026472254/cal1'].events
|
||||
.event1
|
||||
}
|
||||
onClose={handleClose}
|
||||
onOpenDuplicate={onOpenDuplicate}
|
||||
/>,
|
||||
preloadedState
|
||||
);
|
||||
)
|
||||
|
||||
fireEvent.click(
|
||||
screen.getByRole("menuitem", { name: "eventDuplication.duplicateEvent" })
|
||||
);
|
||||
screen.getByRole('menuitem', { name: 'eventDuplication.duplicateEvent' })
|
||||
)
|
||||
|
||||
expect(onOpenDuplicate).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
expect(onOpenDuplicate).toHaveBeenCalled()
|
||||
})
|
||||
})
|
||||
|
||||
describe("EventPopover", () => {
|
||||
it("renders with event data", () => {
|
||||
describe('EventPopover', () => {
|
||||
it('renders with event data', () => {
|
||||
renderWithProviders(
|
||||
<EventPopover
|
||||
anchorEl={null}
|
||||
@@ -97,18 +97,18 @@ describe("EventPopover", () => {
|
||||
setSelectedRange={jest.fn()}
|
||||
calendarRef={{ current: null }}
|
||||
event={
|
||||
preloadedState.calendars.list["667037022b752d0026472254/cal1"].events
|
||||
preloadedState.calendars.list['667037022b752d0026472254/cal1'].events
|
||||
.event1
|
||||
}
|
||||
/>,
|
||||
preloadedState
|
||||
);
|
||||
)
|
||||
|
||||
expect(screen.getByDisplayValue(/Test Event/i)).toBeInTheDocument();
|
||||
});
|
||||
expect(screen.getByDisplayValue(/Test Event/i)).toBeInTheDocument()
|
||||
})
|
||||
|
||||
it("saves duplicated event when Save is clicked", () => {
|
||||
const onClose = jest.fn();
|
||||
it('saves duplicated event when Save is clicked', () => {
|
||||
const onClose = jest.fn()
|
||||
|
||||
renderWithProviders(
|
||||
<EventPopover
|
||||
@@ -119,24 +119,24 @@ describe("EventPopover", () => {
|
||||
setSelectedRange={jest.fn()}
|
||||
calendarRef={{ current: null }}
|
||||
event={
|
||||
preloadedState.calendars.list["667037022b752d0026472254/cal1"].events
|
||||
preloadedState.calendars.list['667037022b752d0026472254/cal1'].events
|
||||
.event1
|
||||
}
|
||||
/>,
|
||||
preloadedState
|
||||
);
|
||||
)
|
||||
|
||||
fireEvent.change(screen.getByLabelText(/Title/i), {
|
||||
target: { value: "Duplicated Event" },
|
||||
});
|
||||
fireEvent.click(screen.getByRole("button", { name: "actions.save" }));
|
||||
target: { value: 'Duplicated Event' }
|
||||
})
|
||||
fireEvent.click(screen.getByRole('button', { name: 'actions.save' }))
|
||||
|
||||
waitFor(() => expect(onClose).toHaveBeenCalled());
|
||||
});
|
||||
});
|
||||
waitFor(() => expect(onClose).toHaveBeenCalled())
|
||||
})
|
||||
})
|
||||
|
||||
describe("EventDisplayModal", () => {
|
||||
it("shows duplication button and opens duplication form", () => {
|
||||
describe('EventDisplayModal', () => {
|
||||
it('shows duplication button and opens duplication form', () => {
|
||||
renderWithProviders(
|
||||
<EventPreviewModal
|
||||
eventId="event1"
|
||||
@@ -145,20 +145,20 @@ describe("EventDisplayModal", () => {
|
||||
onClose={jest.fn()}
|
||||
/>,
|
||||
preloadedState
|
||||
);
|
||||
)
|
||||
|
||||
fireEvent.click(screen.getByTestId("MoreVertIcon"));
|
||||
fireEvent.click(screen.getByTestId('MoreVertIcon'))
|
||||
fireEvent.click(
|
||||
screen.getByRole("menuitem", { name: "eventDuplication.duplicateEvent" })
|
||||
);
|
||||
screen.getByRole('menuitem', { name: 'eventDuplication.duplicateEvent' })
|
||||
)
|
||||
expect(
|
||||
screen.getAllByText("eventDuplication.duplicateEvent")[1]
|
||||
).toBeInTheDocument();
|
||||
screen.getAllByText('eventDuplication.duplicateEvent')[1]
|
||||
).toBeInTheDocument()
|
||||
expect(
|
||||
screen.getByDisplayValue(
|
||||
preloadedState.calendars.list["667037022b752d0026472254/cal1"].events
|
||||
preloadedState.calendars.list['667037022b752d0026472254/cal1'].events
|
||||
.event1.title as string
|
||||
)
|
||||
).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
).toBeInTheDocument()
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user