@@ -13,9 +13,10 @@ const mockFetch = () =>
13
13
end : "2020-10-10T12:00:00Z" ,
14
14
} ,
15
15
{
16
- title : "Event 2" ,
17
- start : "2020-10-12" ,
18
- end : "2020-10-12" ,
16
+ "title" : "Event 2" ,
17
+ "start" : "2020-10-12" ,
18
+ "end" : "2020-10-12" ,
19
+ "@id" : "./test_event.html" ,
19
20
} ,
20
21
{
21
22
title : "Event 3" ,
@@ -228,6 +229,33 @@ describe("Calendar tests", () => {
228
229
done ( ) ;
229
230
} ) ;
230
231
232
+ it ( "Loads events and does not set the href if not present" , async ( done ) => {
233
+ const el = document . querySelector ( ".pat-calendar" ) ;
234
+ el . setAttribute (
235
+ "data-pat-calendar" ,
236
+ "initial-date: 2020-10-10; url: ./test.json;"
237
+ ) ;
238
+
239
+ global . fetch = jest . fn ( ) . mockImplementation ( mockFetch ) ;
240
+
241
+ registry . scan ( document . body ) ;
242
+ await utils . timeout ( 1 ) ; // wait a tick for async to settle.
243
+
244
+ const events = [ ...document . querySelectorAll ( ".fc-event-title" ) ] ;
245
+
246
+ const event1 = events . filter ( ( it ) => it . textContent === "Event 1" ) [ 0 ] . closest ( ".fc-event" ) ; // prettier-ignore
247
+ const event2 = events . filter ( ( it ) => it . textContent === "Event 2" ) [ 0 ] . closest ( ".fc-event" ) ; // prettier-ignore
248
+ const event3 = events . filter ( ( it ) => it . textContent === "Event 3" ) [ 0 ] . closest ( ".fc-event" ) ; // prettier-ignore
249
+
250
+ expect ( event1 . href ) . toBeFalsy ( ) ;
251
+ expect ( event2 . href ) . toBe ( "http://localhost/test_event.html" ) ;
252
+ expect ( event3 . href ) . toBeFalsy ( ) ;
253
+
254
+ global . fetch . mockClear ( ) ;
255
+ delete global . fetch ;
256
+ done ( ) ;
257
+ } ) ;
258
+
231
259
it ( "Loads correct date if set in query string" , async ( done ) => {
232
260
const el = document . querySelector ( ".pat-calendar" ) ;
233
261
el . setAttribute ( "data-pat-calendar" , "timezone: Europe/Berlin" ) ;
0 commit comments