seitime-frappe/frappe/tests/ui/test_calendar_view.js
Faris Ansari 7595fb75ba
New ListView 💥 + DataTable (#4577)
* first cut

* Code refactoring, styling

* Added Sorting

* Revert query_report to use slickgrid

* cleanup

* Edit cell working

* Add regrid, remove datatable

* Add clusterize

* Update lib, fix get_checked_items

* New ReportView

* wip

* Enable editing, fix styles

* update lib

* wip

* fix refresh rows and editable cells

* Refresh list_view every 3s, decouple refreshing logic

* Report editing fixes

* Cleanup loading fields, add column then refresh list

* [wip] New List View

* [working] Render results

* ListView is now BaseList, add new ListView and GanttView

* Create new page for each ListView

* GanttView working

* CalendarView working

* KanbanView working

* Cache list_view based on page_name

* Gantt view buttons on mobile

* Add ReportView

* Refresh datatable on render

* Setup like

* [start][filters] clean up FilterList

* [filters] refactor FilterList

* [filters] minor fix

* [filters] fix remove filter

* filter utils

* more utils, remove apply

* rewrite as class, remove 'me' references

* [filter] implement on_change to decouple parent functions

* Integrate new filters with new BaseList

* Setup freeze area for ListView

* Set breadcrumbs on setup_page

* Trigger list update from events

* Setup footnote area

* Fix Kanban Board filters

* Add filters to standard filters, then filter_list

* Remove old files

* Fix ImageView

* Some more fixes for BaseList.init

* Fix order_by on load

* Report View: remember columns

* Fix for hidden filters

* Fix for delete items

* InboxView

* Shift select checkboxes

* Fix ESLint errors

* More refactoring

- Move ListMenu to Listview
- New FileView
- Ability to add custom breadcrumbs

* FileManager working

* Tags, set filters from route options

* Custom Reports Working

* List Sidebar reports

* Report Name as title

* Fix ESLint errors

* Fix UI tests

* Fix Kanban test

* Format ID column

* [fix] Kanban cards title

* Checkbox fix

* Fix Activity Page

* Update rows in Report in place

* Child Table columns in Report View
2017-12-27 11:24:25 +05:30

79 lines
No EOL
2.3 KiB
JavaScript

QUnit.module('views');
QUnit.test("Calendar View Tests", function(assert) {
assert.expect(3);
let done = assert.async();
let random_text = frappe.utils.get_random(3);
let today = frappe.datetime.get_today()+" 16:20:35"; //arbitrary value taken to prevent cases like 12a for 12:00am and 12h to 24h conversion
let visible_time = () => {
// Method to return the start-time (hours) of the event visible
return $('.fc-time').text().split('p')[0]; // 'p' because the arbitrary time is pm
};
let event_title_text = () => {
// Method to return the title of the event visible
return $('.fc-title:visible').text();
};
frappe.run_serially([
// create 2 events, one private, one public
() => frappe.tests.make("Event", [
{subject: random_text + ':Pri'},
{starts_on: today},
{event_type: 'Private'}
]),
() => frappe.timeout(1),
() => frappe.tests.make("Event", [
{subject: random_text + ':Pub'},
{starts_on: today},
{event_type: 'Public'}
]),
() => frappe.timeout(1),
// Goto Calendar view
() => frappe.set_route(["List", "Event", "Calendar"]),
// clear filter
() => cur_list.filter_area.remove('event_type'),
() => frappe.timeout(2),
// Check if event is created
() => {
// Check if the event exists and if its title matches with the one created
assert.ok(event_title_text().includes(random_text + ':Pri'),
"Event title verified");
},
// check filter
() => cur_list.filter_area.add('Event', 'event_type', '=', 'Public'),
() => frappe.timeout(1),
() => {
// private event should be hidden
assert.notOk(event_title_text().includes(random_text + ':Pri'),
"Event title verified");
},
// Delete event
// Goto Calendar view
() => frappe.set_route(["List", "Event", "Calendar"]),
() => frappe.timeout(1),
// delete event
() => frappe.click_link(random_text + ':Pub'),
() => {
frappe.tests.click_page_head_item('Menu');
frappe.tests.click_dropdown_item('Delete');
},
() => frappe.timeout(0.5),
() => frappe.click_button('Yes'),
() => frappe.timeout(2),
() => frappe.set_route(["List", "Event", "Calendar"]),
() => frappe.click_button("Refresh"),
() => frappe.timeout(1),
// Check if event is deleted
() => assert.notOk(event_title_text().includes(random_text + ':Pub'),
"Event deleted"),
() => done()
]);
});