Skip to content

[Bug] Calendar test "Recurring event per timezone" fails depending on used timezone #3928

@khassel

Description

@khassel

Environment

MagicMirror² version: develop

Which start option are you using?

node --run server

Are you using PM2?

No

Module

None

Have you tried disabling other modules?

  • Yes
  • No

Have you searched if someone else has already reported the issue on the forum or in the issues?

  • Yes

What did you do?

I used a stripped version of tests/e2e/modules/calendar_spec.js containing only the test for "Recurring event per timezone"

node@d34bb2250622:/opt/magic_mirror$ export TZ=America/Chicago
node@d34bb2250622:/opt/magic_mirror$ npx jest tests/e2e/modules/calendar_spec.js
 PASS   e2e  tests/e2e/modules/calendar_spec.js (39.89 s)
  Calendar module
    Recurring event per timezone
      ✓ should contain text "Mar 25th" in timezone UTC 12 (1307 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 11 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 10 (1209 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 9 (1204 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 8 (1202 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 7 (1203 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 6 (1202 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 5 (1202 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 4 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 3 (1202 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 2 (1203 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 1 (1203 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 0 (1206 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -1 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -2 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -3 (1203 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -4 (1302 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -5 (1198 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -6 (1201 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -7 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -8 (1203 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -9 (1204 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -10 (1201 ms)
      ✓ should contain text "Mar 25th" in timezone UTC -11 (1306 ms)
node@d34bb2250622:/opt/magic_mirror$ export TZ=Australia/West
node@d34bb2250622:/opt/magic_mirror$ npx jest tests/e2e/modules/calendar_spec.js
 FAIL   e2e  tests/e2e/modules/calendar_spec.js (39.544 s)
  Calendar module
    Recurring event per timezone
      ✓ should contain text "Mar 25th" in timezone UTC 12 (1310 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 11 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 10 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 9 (1202 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 8 (1202 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 7 (1204 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 6 (1204 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 5 (1205 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 4 (1209 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 3 (1205 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 2 (1205 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 1 (1210 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 0 (1204 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -1 (1202 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -2 (1207 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -3 (1207 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -4 (1303 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -5 (1202 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -6 (1205 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -7 (1205 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -8 (1204 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -9 (1202 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -10 (1200 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -11 (1205 ms)

  ● Calendar module › Recurring event per timezone › should contain text "Mar 25th" in timezone UTC 7

    expect(received).resolves.toBe()

    Received promise rejected instead of resolved
    Rejected to value: [Error: expect(received).toContain(expected) // indexOf·
    Expected substring: "Mar 25th"
    Received string:    "undefinedBirthdayMar 24thBirthdayMar 24thBirthdayMar 24thBirthdayMar 24thBirthdayMar 24thBirthdayMar 24th"]
node@d34bb2250622:/opt/magic_mirror$ export TZ=Europe/Berlin
node@d34bb2250622:/opt/magic_mirror$ npx jest tests/e2e/modules/calendar_spec.js
 FAIL   e2e  tests/e2e/modules/calendar_spec.js (39.651 s)
  Calendar module
    Recurring event per timezone
      ✓ should contain text "Mar 25th" in timezone UTC 12 (1308 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 11 (1204 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 10 (1204 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 9 (1203 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 8 (1199 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 7 (1206 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 6 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 5 (1205 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 4 (1212 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 3 (1202 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 2 (1203 ms)
      ✓ should contain text "Mar 25th" in timezone UTC 1 (1203 ms)
      ✕ should contain text "Mar 25th" in timezone UTC 0 (1204 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -1 (1204 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -2 (1207 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -3 (1205 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -4 (1204 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -5 (1203 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -6 (1204 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -7 (1308 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -8 (1206 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -9 (1215 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -10 (1206 ms)
      ✕ should contain text "Mar 25th" in timezone UTC -11 (1206 ms)

  ● Calendar module › Recurring event per timezone › should contain text "Mar 25th" in timezone UTC 0

    expect(received).resolves.toBe()

    Received promise rejected instead of resolved
    Rejected to value: [Error: expect(received).toContain(expected) // indexOf·
    Expected substring: "Mar 25th"
    Received string:    "undefinedBirthdayMar 24thBirthdayMar 24thBirthdayMar 24thBirthdayMar 24thBirthdayMar 24thBirthdayMar 24th"]

What did you expect to happen?

This test should produce the same output (independent of TZ).

What actually happened?

see above.

Additional comments

No response

Participation

  • I am willing to submit a pull request for this change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions