Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

calendar e2e test fails #3532

Closed
khassel opened this issue Sep 12, 2024 · 6 comments
Closed

calendar e2e test fails #3532

khassel opened this issue Sep 12, 2024 · 6 comments
Assignees
Labels

Comments

@khassel
Copy link
Collaborator

khassel commented Sep 12, 2024

FAIL tests/e2e/modules/calendar_spec.js (77.317 s)
  ● Calendar module › Events from multiple calendars › should show multiple events with the same title and start time from different calendars
    expect(received).resolves.toBe()
    Received promise rejected instead of resolved
    Rejected to value: [Error: expect(received).toHaveLength(expected)·
    Expected length: 22
    Received length: 20
    Received object: [<tr class="event-wrapper normal event"><td class="symbol align-right "><span class="fas fa-fw fa-calendar-alt" /></td><td class="title bright ">TestEvent</td><td class="time light ">Mar 9th</td></tr>, <tr class="event-wrapper normal event"><td class="symbol align-right "><span class="fas fa-fw fa-calendar-alt" /></td><td class="title bright ">TestEvent</td><td class="time light ">Mar 9th</td></tr>, <tr class="event-wrapper normal event"><td class="symbol align-right "><span class="fas fa-fw fa-calendar-alt" /></td><td class="title bright ">TestEvent</td><td class="time light ">Sep 9th</td></tr>, <tr class="event-wrapper normal event"><td class="symbol align-right "><span class="fas fa-fw fa-calendar-alt" /></td><td class="title bright ">TestEvent</td><td class="time light ">Sep 9th</td></tr>, <tr class="event-wrapper normal event"><td class="symbol align-right "><span class="fas fa-fw fa-calendar-alt" /></td><td class="title bright ">TestEvent</td><td class="time light ">Mar 9th</td></tr
       96 |
       97 | 		it("should show multiple events with the same title and start time from different calendars", async () => {
    >  98 | 			await expect(testElementLength(".calendar .event", 22)).resolves.toBe(true);
          | 			      ^
       99 | 		});
      100 | 	});
      101 |
      at expect (node_modules/expect/build/index.js:113:15)
      at Object.expect (tests/e2e/modules/calendar_spec.js:98:10)

This seems to be a data problem. Running this test 10 days back the test succeeds.

Running the config and checking result in the browser results in 20 calendar entries.

Quickfix would be to change expected 22 to now 20. But I will try to dig deeper and find a real fix.

@khassel khassel added the bug label Sep 12, 2024
@khassel khassel self-assigned this Sep 12, 2024
@khassel
Copy link
Collaborator Author

khassel commented Sep 12, 2024

There are 2 calender events for the Sept. 09 2024 which are missing now (because events in the past are not displayed).

@khassel
Copy link
Collaborator Author

khassel commented Sep 12, 2024

I'm to far away from the calendar stuff. So I will change the expected value from 22 to 20 for getting the tests running again.

We need another test for this which works not only for a limited time (next date is Mar. 03 2027). The used test data calendar_test.ics is used in several other tests so we need new data for this test, maybe with events far away in the future.

@khassel khassel removed their assignment Sep 12, 2024
@sdetweil
Copy link
Collaborator

you can set the date for this test, right? just set back to august 15, 2024

@khassel
Copy link
Collaborator Author

khassel commented Sep 12, 2024

no, in e2e you cannot set date, would be require a move to electron

@sdetweil
Copy link
Collaborator

future dates only go out a year from the current day

@khassel
Copy link
Collaborator Author

khassel commented Sep 12, 2024

from debugging: max date of events displayed in this test is 2049-09-09 ...

will not invest more time in this

@khassel khassel self-assigned this Sep 14, 2024
rejas pushed a commit that referenced this issue Sep 15, 2024
…#3540)

and refactor tests/electron/modules/calendar_spec.js

fixes #3532
@khassel khassel closed this as completed Sep 15, 2024
khassel added a commit that referenced this issue Sep 30, 2024
## [2.29.0] - 2024-10-01

Thanks to: @bugsounet, @dkallen78, @jargordon, @khassel,
@KristjanESPERANTO, @MarcLandis, @rejas, @ryan-d-williams, @sdetweil,
@skpanagiotis.

> ⚠️ This release needs nodejs version `v20` or `v22`, minimum version
is `v20.9.0`

### Added

- [compliments] Added support for cron type date/time format entries mm
hh DD MM dow (minutes/hours/days/months and day of week) see
https://crontab.cronhub.io for construction (#3481)
- [core] Check config at every start of MagicMirror² (#3450)
- [core] Add spelling check (cspell): `npm run test:spelling` and handle
spelling issues (#3544)
- [core] removed `config.paths.vendor` (could not work because `vendor`
is hardcoded in `index.html`), renamed `config.paths.modules` to
`config.foreignModulesDir`, added variable `MM_CUSTOMCSS_FILE` which -
if set - overrides `config.customCss`, added variable `MM_MODULES_DIR`
which - if set - overrides `config.foreignModulesDir`, added test for
`MM_MODULES_DIR` (#3530)
- [core] elements are now removed from `index.html` when loading script
or stylesheet files fails
- [core] Added `MODULE_DOM_UPDATED` notification each time the DOM is
re-rendered via `updateDom` (#3534)
- [tests] added minimal needed node version to tests (currently v20.9.0)
to avoid releases with wrong node version info
- [tests] Added `node-libgpiod` library to electron-rebuild tests
(#3563)

### Removed

- [core] removed installer only files (#3492)
- [core] removed raspberry object from systeminformation (#3505)
- [linter] removed `eslint-plugin-import`, because it doesn't support
ESLint v9. We will reenter it later when it does.
- [tests] removed `onoff` library from electron-rebuild tests (#3563)

### Updated

- [weather] Updated `apiVersion` default from 2.5 to 3.0 (#3424)
- [core] Updated dependencies including stylistic-eslint
- [core] nail down `node-ical` version to `0.18.0` with exception
`allow-ghsas: GHSA-8hc4-vh64-cxmj` in `dep-review.yaml` (which should
removed after next `node-ical` update)
- [core] Updated SocketIO catch all to new API
- [core] Allow custom modules positions by scanning index.html for the
defined regions, instead of hard coded (PR #3518 fixes issue #3504)
- [core] Detail optimizations in `config_check.js`
- [core] Updated minimal needed node version in `package.json`
(currently v20.9.0) (#3559) and except for v21 (no security updates)
(#3561)
- [linter] Switch to ESLint v9 and flat config and replace
`eslint-plugin-unicorn` by `@eslint/js`
- [core] fix discovering module positions twice after #3450

### Fixed

- Fixed `checks` badge in README.md
- [weather] Fixed issue with the UK Met Office provider following a
change in their API paths and header info.
- [core] add check for node_helper loading for multiple instances of
same module (#3502)
- [weather] Fixed issue for respecting unit config on broadcasted
notifications
- [tests] Fixes calendar test by moving it from e2e to electron with
fixed date (#3532)
- [calendar] fixed sliceMultiDayEvents getting wrong count and
displaying incorrect entries, Europe/Berlin (#3542)
- [tests] ignore `js/positions.js` when linting (this file is created at
runtime)
- [calendar] fixed sliceMultiDayEvents showing previous day without
config enabled

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Michael Teeuw <[email protected]>
Co-authored-by: Kristjan ESPERANTO <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ross Younger <[email protected]>
Co-authored-by: Veeck <[email protected]>
Co-authored-by: Bugsounet - Cédric <[email protected]>
Co-authored-by: jkriegshauser <[email protected]>
Co-authored-by: illimarkangur <[email protected]>
Co-authored-by: sam detweiler <[email protected]>
Co-authored-by: vppencilsharpener <[email protected]>
Co-authored-by: veeck <[email protected]>
Co-authored-by: Paranoid93 <[email protected]>
Co-authored-by: Brian O'Connor <[email protected]>
Co-authored-by: WallysWellies <[email protected]>
Co-authored-by: Jason Stieber <[email protected]>
Co-authored-by: jargordon <[email protected]>
Co-authored-by: Daniel <[email protected]>
Co-authored-by: Ryan Williams <[email protected]>
Co-authored-by: Panagiotis Skias <[email protected]>
Co-authored-by: Marc Landis <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants