Commit graph

95 commits

Author SHA1 Message Date
Jeldrik Hanschke
88089df7c0
Safari parses date-time strings without explicit time zone as UTC (#364)
Safari does not follow ES5 / ECMAScript 2015 date parsing rules. Per spec a date that has day + time but does not have an explicit time zone (e.g. "2019-01-01T00:00") should be parsed in local time. But Safari treats that one as UTC.
2020-01-31 21:45:58 +01:00
Jeldrik Hanschke
8a62662e6e
migrate from ember-i18n to ember-intl (#358)
* mark string as html safe before passing to translation instead of bypassing HTML escape using {{{unsafe}}} syntax
* replace ember-i18n with ember-intl
2020-01-30 00:23:12 +01:00
Jeldrik Hanschke
5e5dbe84db test should not depend on time zone
This hopefully fixes the flickering tests in Safari.
2020-01-03 14:25:37 +01:00
Jeldrik Hanschke
d9b1bf7b5a
Improve test coverage for validation on participation form (#308)
* add tests that participation form is validated
* assert that first invalid form element is focused on invalid submission attempt
2019-11-20 14:52:23 +01:00
renovate[bot]
2dc5c22409 Update dependency ember-bootstrap to v3 (#255) 2019-11-14 21:18:52 +01:00
Jeldrik Hanschke
4e6d046ec7
add abort button to retry save modal and several other fixes for it (#291)
Croodle shows a modal if saving a participation fails. The modal allows
a user to retry the save attempt. While it was always possible to close
the button by clicking on backdrop or using escape key, a button to do so
was missing. A user may not know about the user ways and may see reloading
the page as only possibilty to close the modal if he doesn't want to retry
again.

This adds the missing abort button and fixes some smaller bugs including:

- The modal was missing a title.
- If the modal was closed once it wasn't reopened on another failed saving
  attemp unless the user has visit another page in between.
- Several arguments were passed to <BsModal> that weren't existing at all.
2019-11-10 10:25:51 +01:00
Jeldrik Hanschke
41ddafdb72
fix failing test due to unexpected version format (#271) 2019-10-31 07:43:22 +01:00
jelhan
65063c71ce
validation error is flashing up for name input while saving participation (#219) 2019-06-14 23:58:53 +02:00
jelhan
7688d468e4
improve form buttons (#211)
* Adds a loading spinner to form buttons as long as submission is pending.
* Does some refactoring of form navigation buttons.
* Updates expected bundle size.
2019-06-12 09:07:48 +02:00
jelhan
7233f12ee1
refactor setupMirage import after upgrade of ember-cli-mirage (#193)
Recommended import path was changed in v1.0.0-beta.2:
https://github.com/samselikoff/ember-cli-mirage/releases/tag/v1.0.0-beta.2
2019-05-21 13:53:49 +02:00
jelhan
17cfb4ab6d
Meaningful error pages (#177)
Adds meaningful error pages if
- poll does not exist
- encryption key is wrong.
2019-04-23 17:37:42 +02:00
jelhan
bb160cc503
refactor participants table (#164)
- Drops floatthead and additional scrollbar
- Makes header and first column sticky
- Refactors code for readability

Sticky header is only working in Firefox. Chrome and Edge does not support `position: sticky` for `<thead>`. Haven't tested Safari.
2019-04-20 23:29:59 +02:00
jelhan
6c122148c3
fix: test must not trigger confirmation in IE 11 (#174)
Use test helpers provided by ember-cli-clipboard as they do not trigger confirmation in IE 11. Upgrades ember-cli-clipboard to latest version as the outdated version used before does not include these test helpers yet.

Also refactors test execution against BrowserStack to only run tests one by one. Not quite sure why but that fixes the IE 11 issue. Need to investigate later as that one slows down tests by requiring two additional builds.
2019-03-16 11:26:39 +01:00
jelhan
b8c02ca579
Replace SauceLabs with BrowserStack (#171) 2019-03-14 21:30:48 +01:00
Jeldrik Hanschke
480ceb5e08 provide Content-Security-Policy by meta tag
Having both a Content-Security-Policy (CSP) in meta tag and per header
works fine together. They are merged and the strongest one is applied.
It makes Croodle safer for all users even if the hoster does not apply CSP
for some reason (e.g. they can't set custom headers).

It's still a good idea to recommend using a CSP header cause that ones
are applied earlier - even so this shouldn't be a problem cause we ensure
that CSP meta tag is present before any other link, style or script element.
2019-02-23 23:56:49 +01:00
Jeldrik Hanschke
06a92b947f refactor: replace bootstrap-datepicker by ember-power-calendar
Also renders two linked calendars if there is enough space.

Closes #143
2019-01-20 17:08:16 +01:00
Jeldrik Hanschke
5b34199f41 refactor: drop jQuery from tests except for jQuery plugin bootstrap-datepicker 2019-01-18 20:42:21 +01:00
Jeldrik Hanschke
bcd4bc7ac6 upgrade to ember 3.4 2018-12-31 10:17:03 +01:00
Jeldrik Hanschke
11265cb82d deps: upgrade ember to 2.18 2018-12-29 20:23:19 +01:00
Jeldrik Hanschke
97e447bbe7 deps: yarn upgrade 2018-12-29 20:23:19 +01:00
jelhan
ee8c64e031 show expiration date and warn if poll will expire in next days (#140)
Closes #121
2017-08-26 02:14:09 +02:00
jelhan
ee6728314a replace jstimezonedetect by moment.tz.guess() (#139)
Closes #118
2017-08-26 01:54:41 +02:00
jelhan
64a9dea5e7 refactor dates handling (#137)
* Remove dates ArrayProxy.
* Use moment template helpers.
* Pass timezone and locale directly to moment template helper to avoid issues.
2017-08-11 16:39:36 +02:00
jelhan
5575629fb6 Legacy support is an acceptance test atleast since it's using a mocked api. 2017-08-01 16:23:35 +02:00
jelhan
87ad9b0506 use ember-cli-mirage to mock api 2017-08-01 09:49:02 +02:00
jelhan
632c36eb12 updates dependencies and fixes property modified twice in a single render deprecations 2017-08-01 09:48:48 +02:00
jelhan
364147f4b6 fix build issue by updating ember-moment 2017-07-25 17:17:39 +02:00
jelhan
ed5e5f84c5 Fix tests after d5705b2c3b 2016-08-30 11:54:33 +02:00
jelhan
9b221e7861 add a test for saving a new poll fails due to server 2016-08-26 19:04:50 +02:00
jelhan
6852d6ce27 more suitable page object action for save 2016-08-26 18:29:02 +02:00
jelhan
0e446c19fe add tests for autofocus first form element
introduced by last commit (545f3b0664)
2016-08-26 01:30:46 +02:00
jelhan
e735587c93 update floatThead and drop CSP unsafe-inline requirement
Closes #90
2016-08-23 11:43:58 +02:00
jelhan
94b4dc6f82 use localStorage instead of cookie to save locale setting
there is no need to tell the server which locale is prefered by client
2016-08-21 14:31:39 +02:00
jelhan
d8db29ecd9 adds back button to create wizard
Part of #76
2016-08-21 00:38:44 +02:00
jelhan
5613dfdd43 add button for copying poll link
closes #95
2016-08-20 22:02:53 +02:00
jelhan
c4a1b99c75 enforce wizzard start at first step 2016-08-18 01:09:58 +02:00
jelhan
3d251bc9fb provide status bar to indicate steps of poll creation wizard
part of #76
2016-08-14 22:57:10 +02:00
jelhan
3cb05ca5b3 adds test that user is notified if poll can't be saved
related to #78
2016-08-12 13:00:18 +02:00
jelhan
1396957297 Fix: use a new record per user
was broken by 66b89456d3
2016-08-12 00:43:05 +02:00
jelhan
26b3dab102 update ember-suave and fix some coding style 2016-08-11 22:47:17 +02:00
jelhan
66b89456d3 Fix: feedback if participation can't be saved
adresses #78
2016-08-04 22:24:53 +02:00
jelhan
aa9e0f132b Fix test: Acceptance | create a poll: create a poll and using back button (find a date) 2016-07-28 01:08:43 +02:00
jelhan
bac6c4e72d Fix test after version in package.json has been corrected 2016-07-27 23:17:51 +02:00
jelhan
4bdea08b60 Fix test broken by 0627d409b5 2016-07-27 23:12:35 +02:00
jelhan
2c11fe41bf perserve validation state in create/options-datetime by avoiding rerender 2016-06-08 13:56:06 +02:00
jelhan
4a31aaa616 use ember-bootstrap in create/options
ToDo:
Label validation state should not be bound to validation state of first element (option)
but to validation state of all elements. If any element has an error label validation state
should be error. Only if all elements are fine, label validation state should also be fine.
2016-06-06 01:19:24 +02:00
jelhan
f3426b2a7d support creating polls with only one option
There might be use cases and it simplifies validation a lot.

Also fixes this missing translation message mentioned in #84:
> /create/options-datetime: There isn't any validation error shown when validation fails due to not enough times.
2016-04-15 11:21:26 +02:00
jelhan
8a32f1f5c8 Closes #87. 2016-04-11 00:37:46 +02:00
jelhan
e5c5198601 Fixes #85 2016-04-09 01:52:54 +02:00
jelhan
194f00b7d6 Rewritten (some) acceptance tests with ember-cli-page-objects 2016-04-08 21:48:22 +02:00