Commit graph

230 commits

Author SHA1 Message Date
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
jelhan
215d980033
run tests against Firefox in CI (#168)
* run tests against Firefox in CI
* fix test for Firefox 56
2019-03-07 23:11:03 +01:00
Jeldrik Hanschke
830478051b upgrade qunit to fix CSP violations in test runner
This one requires a migration from deprecated ember-cli-qunit to ember-qunit.
ember-qunit throws in Unit tests cause they interact with runloop but didn't
awaited everything to finish. An assertion was thrown therefor:

> Assertion Failed: expected container not to be destroyed
2019-02-23 23:56:49 +01:00
Jeldrik Hanschke
ac96aaf044 tests should fail if violating CSP 2019-02-23 23:56:49 +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
96f1990542 fix: label should reflect validation state of all times of a day 2019-01-03 00:46:36 +01:00
Jeldrik Hanschke
174b6d493c refactor create/settings to avoid observer
This also fix a bug if user creates more than one croodle without reloading window
in between. In that case a data fragment is reused which throws.

It's also the first step in dropping {{simple-select}} which is very outdated.
2018-12-31 12:09:17 +01:00
Jeldrik Hanschke
bcd4bc7ac6 upgrade to ember 3.4 2018-12-31 10:17:03 +01:00
Jeldrik Hanschke
71d303174e refactor: drop ember-array-computed-macros 2018-12-30 01:04:33 +01:00
Jeldrik Hanschke
b8d4087aaf fix: validation errors should be translated
https://github.com/jasonmit/ember-i18n-cp-validations/tree/v3.1.0#breaking-changes-between-2x-and-3x-for-ember-i18n-cp-validations
2018-12-29 21:23:29 +01:00
Jeldrik Hanschke
11265cb82d deps: upgrade ember to 2.18 2018-12-29 20:23:19 +01:00
Jeldrik Hanschke
8f90414f0c deps: upgrade ember-cli-mirage 2018-12-29 20:23:19 +01:00
Jeldrik Hanschke
97e447bbe7 deps: yarn upgrade 2018-12-29 20:23:19 +01:00
jelhan
9c4bd9e669
upgrade ember-bootstrap and ember-bootstrap-cp-validations to latest versions (#146)
Ember Bootstrap has changed a lot since the very outdated pre 1.0 release
which was used here. Changes are mostly about using composable components
and closure actions.

Also replaces PhantomJS with Chrome in CI cause PhantomJS is also very
outdated and causing test failure not related to any real world issues.
Ember CLI has replaced PhantomJS with Chrome in v2.15.1, which is the
upfollowing minor release to the version currently used.
2018-10-28 22:54:14 +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
565b426b03 tests/dummyData is not used anymore since 87ad9b0506 2017-08-13 20:43:33 +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
cf8068cd8e remove file which has been added accidentally in 632c36eb12 2017-08-01 16:26:18 +02:00
jelhan
0407d28260 remove tests which just duplicates some tests allready done at tests/acceptance/create-a-poll-test.js 2017-08-01 16:24:10 +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
2f1e729e2c Fix: second pretender instance warning 2017-08-01 10:26:38 +02:00
jelhan
87ad9b0506 use ember-cli-mirage to mock api 2017-08-01 09:49:02 +02:00
jelhan
0f3aa1bc56 Fix tests in IE 11 2017-08-01 09:48:48 +02:00
jelhan
1df562b352 refactor {{poll-evaluation-chart}} and {{poll-evaluation-participants-table}} interfaces to make them less complex 2017-08-01 09:48:48 +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
d76783c9cf refactor form navigation to use a component 2016-09-23 19:39:31 +02:00
jelhan
ae0ad7bd42 Import sjcl by newly added Anonymous AMD Support
Fixes: `invalid aes key size` error in sjcl 1.0.5 and 1.0.6.

https://github.com/ember-cli/ember-cli/pull/5976
2016-09-20 02:01:33 +02:00
jelhan
fd0d7ffd39 update ember to 2.8 and ember-cli to 2.9.0-beta.1 2016-09-20 02:01:26 +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
545f3b0664 autofocus first form element
currently not working for date selection (calendar) since this one did not
support keyboard navigation

part of #94
2016-08-26 00:10:22 +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
bbea5265fe update ember-i18n to latest (4.2.2) 2016-08-17 23:56:14 +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
29189e5a06 updates ember-cli-page-object 2016-08-14 22:24:04 +02:00
jelhan
2a75db5304 Update to chartjs 2.x
enhancements:
* responsive charts
* native support for stacked bars
* CSP: script-src: unsafe-inline is not needed anymore #90
2016-08-12 23:09:43 +02:00
jelhan
1400b71417 updates ember, ember data and ember data model fragments and fixes some container deprecation 2016-08-12 23:09:37 +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
724a995372 Fixes: invalid times should not be adopted on other days 2016-07-05 11:26:03 +02:00
jelhan
a28923ead2 refactor to use groupBy computed macro of ember-array-computed-macros instead of ember-group-by 2016-07-04 14:39:00 +02:00
jelhan
01bd5a6466 remove formatted-date helper (not in use anymore) 2016-06-21 01:44:50 +02:00
jelhan
7b2a9672f4 Fixes: Date in poll evaluation summary does not observe locale changes. 2016-06-20 20:48:48 +02:00
jelhan
a7e141828d Fixes #89 2016-06-20 19:28:10 +02:00
jelhan
308b8fb367 preserve existing times if day selection is changed 2016-06-13 11:14:42 +02:00
jelhan
86a233fb02 Fix: do not delete a date if it's the last one for this day
Details: https://github.com/jelhan/croodle/issues/99#issuecomment-225140574
2016-06-10 20:59:02 +02:00
jelhan
acc05d68c5 remove webshim polyfills
UX in browser which does not support time input type should be okay know by
validation messages and placeholder. Wasn't even used anymore in latest release.

Affects #90 but does not resolve 'unsafe-inline' requirement cause to
ember-bootstrap (https://github.com/kaliber5/ember-bootstrap/pull/98#discussion_r66586065).
2016-06-10 11:35:55 +02:00
jelhan
bcccffacec Fix: adopt times of first day if there aren't any times on first day 2016-06-09 12:27:51 +02:00
jelhan
327d6cd737 object-at helper as addon 2016-06-08 18:42:26 +02:00
jelhan
2c11fe41bf perserve validation state in create/options-datetime by avoiding rerender 2016-06-08 13:56:06 +02:00
jelhan
72513bf893 remove ember-form-master-2000 2016-06-06 01:19:24 +02:00
jelhan
5b8d59c00b rewrite create/options-datetime with ember-bootstrap
ToDo left:
refactor `datetimes` property of `create-options-datetime` component to
not cause whole list to be updated. This is not only a performance issue
but also UX: e.g. validation state is lost when another item is added.
2016-06-06 01:19:24 +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
0592eff1f0 ember-bootstrap for poll/participation 2016-06-06 01:19:23 +02:00
jelhan
c8847d4814 Fix: duplicates in options arrays
Occurs if another day is added to an option array already having times
2016-05-21 18:37:23 +02:00
jelhan
c9ef942c79 Fixes #84 2016-05-21 17:17:08 +02:00
jelhan
70f7879ee7 Fixes #55 2016-05-20 21:49:29 +02:00
jelhan
08e9f68197 remove polls isDateTime attribute 2016-05-18 13:18:36 -07: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
jelhan
c240b712b6 Fixes #88
Also fixes test which was false positive and added some other tests.
2016-03-21 22:06:08 +01:00
jelhan
0ab6ff374c Fix: String could be less than 10 characters which causes test to fail
Math.random() could return 0, 0.5, 0.51 which isn't enough input for a 10 characters string.
2016-03-21 13:05:23 +01:00
jelhan
aa6483c4d1 Fixes #81 2016-03-20 15:31:24 +01:00
jelhan
6f6395e430 Fixes #82 2016-03-18 20:26:41 +01:00
jelhan
9a658ab76d allow alpha / beta / rc releases 2016-03-18 13:15:32 +01:00
jelhan
277d51e650 poll evaluation as stacked bar chart 2016-03-17 13:32:53 +01:00
jelhan
014c717d34 sort options after times where set 2016-02-18 12:06:54 +01:00
jelhan
b921632465 reimplement adopt times of first day (was: copy first line) 2016-02-16 04:02:59 +01:00
jelhan
e906fbd09d fix failing test due to input polyfill 2016-02-16 04:01:17 +01:00
jelhan
0fd12adf65 move time selection to separate page again 2016-02-16 02:26:27 +01:00
jelhan
4b33ddf48e Support polls findADate with mixed dates and datetimes 2016-02-13 18:37:33 +01:00
jelhan
0e4fd114cb some improvement on validations 2016-02-09 01:16:18 +01:00
jelhan
c53593d2cf options must be unique 2016-02-08 23:46:30 +01:00
jelhan
4bcb45d0bb revert change in dynamic segment (under_score to camelCase) since
poll id was not set as part of url afterwards;
add tests to not let this happen again
2016-01-31 15:30:31 +01:00
jelhan
40a7fdf606 fix validators and there tests
tests had wrong results before
2016-01-31 14:54:23 +01:00
jelhan
a60c84e8d2 Fix failing tests in browser (including PhatomJS) which doesn't support input[type="time"]
due to webshim polyfill
2016-01-29 12:54:54 +01:00
jelhan
fefa4edfe4 wrong description 2016-01-29 11:47:19 +01:00
jelhan
8f08e57d1d fix some more code style issues 2016-01-28 23:48:14 +01:00
jelhan
13ddf1194b Merge branch 'master' into rewrite-create-options 2016-01-28 12:36:21 +01:00
jelhan
682e6a658e fix coding style errors
> helpers/poll-has-users.js should pass jscs.
> requireSemicolons: Missing semicolon after statement at helpers/poll-has-users.js
is incostitent with JSHint which complains about this semicolon

other ones should be fixed by rewrite of create/options
2016-01-28 12:34:56 +01:00