Commit Graph

144 Commits (fe045b996b1c40df0d4326824369e7242ad6da49)

Author SHA1 Message Date
Ahmad Abdolsaheb 29e4a18a56
feat(tools): donation tests (#46633)
* feat: add stripe donate page test for non donors

* fix: revert changes to see if ev is passed correctly

* feat: download artifacts

* fix: add quotations for spec args with global patterns

* fix: remove firefox from cypress donation tests

* fix: trigger action on main push

* Apply suggestions from code review

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* feat: remove matrix and simplify

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-08-08 08:43:23 -07:00
Ahmad Abdolsaheb 72a9e76ce5
feat: remove the mention of recurring donations. (#46948)
feat: remove the mention of ongoing donations
2022-07-19 08:39:45 -05:00
Moshe 8d4d4d79e8
fix(ui): "sign in" button hidden at small devices (#46561)
* fix(UI): missing sign-in button at small devices

* feat: replace menu and sign-in buttons text with images

* refactor: svg icons replaced by fortawesome ones

* test: fix e2e test of navigation menu button

* feat: display sign in button and hide all

* feat: display sign in icon on nav for small screens

* feat: add accessibility span for menu icon

* fix: lint errors

Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
2022-07-12 08:15:52 -05:00
Oliver Eyton-Williams 8bc5b0a310
fix: show completion modal (#46589)
* fix: make ctrl/cmd + enter trigger modal

Multifile projects should be handled like legacy challenges in this
regard.

* test: check modal appears

* refactor: ignore additional solutions

* test: fix ctrl + enter tests

* fix: only run on electron

* fix: remove log

* fix: show completion modal if instructions focused

* fix: handle undefined challengeType
2022-06-26 12:23:46 -05:00
Oliver Eyton-Williams 9046d70b67
fix: use certification hours consistently (#46442)
* fix: use certification hours consistently

Since the value appearing on the /learn map was hardcoded, it could have
gone out of sync with the certifications, which were relying on
certification-settings.

Also, for simplicity (and because it's hard to estimate accurately), all
the certifications are set to 300 hours.  Fullstack being the exception,
as it is a set of certifications.

* feat: remove the hours from the map
2022-06-23 14:24:33 +03:00
Radi Totev 9e51b59584
feat: show sign in button for unauthenticated users (#46401) 2022-06-16 13:47:30 +02:00
Bruce Blaser 46450b802c
fix(a11y): improve challenge test suite results accessibility (#45802)
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
2022-06-14 12:09:25 +05:30
Radi Totev ca1faa7f59
Remove .only from test (#46395) 2022-06-08 09:37:53 +02:00
Oliver Eyton-Williams 51bb887a28
test: fix multifile tests (#46384)
cy.viewport should not be chainable, hence the failure in CI. Also, the
tests need to check for the absence of (Ctrl + Enter), not the presence
Check Your Code since that's present for all viewports.
2022-06-07 22:35:34 +05:30
Oliver Eyton-Williams f0f44ca315
feat(client): re-enable failed update re-submission (#46064)
* refactor: return response with data from ajax

Because we still need to manipulate the data coming back from the server
(files -> challengeFiles) and we want to keep ajax.ts as the interface
between client and server we need to return the manipulated data with
the response.

* feat: re-enable failed updates flushing

* test: failed updates get resubmitted and flushed

* fix: convert settings requests to use { data }

* refactor: use preserveSession
2022-06-07 17:52:23 +03:00
Jordan Moore fcf2dd7254
fix(UI): Remove 'CTRL + Enter' on CTA for mobile (#46239)
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
2022-06-07 18:20:16 +05:30
Radi Totev e581bd9081
feat(client): shortcuts legend modal available on pressing the `?` key (#45530)
* Add modal texts in translations.json file

* Add shortcuts modal state in redux

* Create shortcuts modal

* Integrate shortcuts modal

* Resolve codefactor.io issues

* Extend list of shortcuts

Based on this comment:
https://github.com/freeCodeCamp/freeCodeCamp/issues/36841#issuecomment-933310078

* Remove temporary placeholder for modal title

* Open modal fom Hotkeys instead of learn.tsx

As suggested in this comment:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1101224993

* Complete list in transaltions

* Change shortcut presentation fo better a11y

Use table instead of list items as suggestedin this comment:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1101796368

* Add aria-labelledby

* Remove GAnalytics

* Remove leftover style

* Remove table caption

* autofocus on modal close button

* Improve modal a11y

- Add requested changes from https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1104764766
- Leave autofocus and parent div role=dialog changes for later. (https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1107754148)

* [WIP] Alllow users to turn off keyboard shortcuts

* Add keyboard shortcuts switch in settings

* Disable shortcuts

* Remove toggle switch description

* Refactor and cleanup

* Remove close button from modal header

Suggested by bbsmooth:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1107861091

* Fix lint issues

* Disable shortcuts

* Disable shortcuts by default

* Update challenge output test

* Update challenge-hot-keys test

* Disable shortcuts from inside handlers

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2022-06-03 09:57:52 -07:00
Oliver Eyton-Williams 42ec3e2ecb
test: reduce flake on multifileCertProject (#46313) 2022-06-03 09:36:46 -07:00
Oliver Eyton-Williams f55a4c48db
test: tighten up two more cypress tests (#46273)
* test: tighten up user-token

This should be faster and a little more reliable.  before should have
worked, but beforeEach seems more reliable, so I'm trying it.

* test: use a single test for intro-page

Should be more robust as well as a lot faster.
2022-06-03 11:44:20 +03:00
Bruce Blaser d2332093f6
fix(a11y): main menu a11y updates (#45137)
* fix: main menu a11y updates

* update font menu

* fix: sign in button text alignment

* fix: disabled button font

* fix: language menu font

* remove sign-in from main menu

* fix: add section dividers to menu

* fix: height on language selector menu

* fix: alignment of Menu button text

* fix: language globe icon

* refactor: remove dup selector

* update language menu colors

* refactor: clearer name for language menu display state

* fix: don't close onBlur if Menu button is clicked

* refactor: move globe icon styling to CSS

* refactor: get rid of switch statements

* refactor: remove try catch block

* fix: translate Change language button

* fix: move search into nav menu for mobile layout

* fix: forgot a merge

* refactor: updates for changes in i18n/all-langs

* fix: prevent menu from collapsing when focus is on change language button and user clicks into search

* fix: translate cancel change option in language picker

* feat: add cypress tests

* feat: display the complete language list

* fix: fix TS typing

* fix: force scrollbar on lang menu

* fix: remove scroll bar from lang menu

* fix: close menu when user tabs away from last menu item

* add list role to navigation list to appease Safari

* chore: capitalize Change Language/remove CSS comment

* fix: right side search box alignment in narrow view

* remove extraneous list role

* fix: cypress

Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
2022-06-01 10:39:26 +03:00
Oliver Eyton-Williams 9076c419eb
test: clean upcoding interview prep intro (#46257) 2022-05-31 17:21:24 -05:00
Oliver Eyton-Williams ed865269a6
test: fix donate page for existing donors (#46255) 2022-05-31 23:06:35 +01:00
Oliver Eyton-Williams b8cedbcc65
test: simplify donation page tests (#46253) 2022-05-31 09:27:37 -07:00
Oliver Eyton-Williams 00998b5aa9
test: reduce flake (#46235)
* test: increase timeouts for slow operations

* test: ignore ChunkLoadErrors again

* test: clean up commands

* Revert "fix(cypress): disable electron due to timeouts (#46231)"

This reverts commit 2b884d9dd9.

* test: various minor refactors
2022-05-31 00:27:32 +05:30
Oliver Eyton-Williams 3679d36169
test: ignore Firefox specific runtime errors (#46179)
Frustrating, but I've not been able to pin them down
2022-05-27 09:31:02 -07:00
Kristofer Koishigawa 739ee60995
fix: display certs on profile for username with upper chars (#46118) 2022-05-26 15:03:49 +05:30
Tom 58ce8ce3e1
Revert "revert: cypress temporary workaround" (#46156)
This reverts commit 9d82633a61.
2022-05-25 15:49:14 -05:00
Tom 9d82633a61
revert: cypress temporary workaround
reverts #45593
2022-05-25 19:35:05 +02:00
Sem Bauke cef1ef1db7
fix: update settings in batch (#46040)
* fix: update settings in batch

* fix: make buttons update

* fix: tests (hopefully)

* fix: cypress promise error

* fix: use submit instead of onclick

Co-authored-by: Niraj Nandish <nirajnandish@icloud.com>
2022-05-18 17:54:50 +03:00
Shaun Hamilton bcbbf8ace4
chore(client): reorder and rename rwd changes (#45972)
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
2022-05-16 19:40:18 +05:30
Naomi Carrigan 23b4be71d7
feat: release RWD from beta (#45865)
* feat: release RWD from beta

* feat: replace beta banner with legacy banner

* feat: update project links

* fix: cypress tests

* fix: map selector

* chore: legacy verbiage

* chore: remove isBeta flag

* fix: go back url verbiage

* feat: separate order for i18n

* fix: curriculum utils test

* fix: cypress

* tests: use data-cy for robustness

Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-05-10 11:44:23 -05:00
Tom f04fbba22d
feat: convert RWD cert projects (#44564)
* feat: convert RWD cert projects

* feat: convert original projects

* fix: add usesMultiFileEditor to meta

* feat: add cypress tests for saving and loading to/from database

* fix: broken cypress tests

* fix: inconsistent variable naming

* fix: missed variable name

* fix: more cypress

* feat: add solutions for english

* fix: ctrl+s to database only if signed in

* fix: prioritize code from db

* refactor: expand the comments slightly
2022-05-05 10:58:14 +02:00
Tom e0a5fcdb8e
fix: add message about third-party cookies (#45672) 2022-04-13 20:56:16 +05:30
Naomi Carrigan 0c35edb4d6
feat: change monaco shortcut (#45627)
* feat: change monaco shortcut

* fix: oops I lost the eslint-enable comment

* feat(tests): add cypress tests
2022-04-07 14:10:34 +05:30
Tom 156bf3c23f
fix: cypress (#45593) 2022-04-01 07:07:01 +02:00
Tom 9f753a5662
feat: let users save cert project code to db (#44700)
* feat: let users save cert project code to db

fix: move getChallenges call out of request function so it only runs once

fix: use FlashMessages enum

fix: transform challengeFiles earlier

test: make tribute page use multifile editor

stuff I was playing with - revert this to get it to a working state

refactor: allow undefined editableRegionBoundaries

fix: save history

history is not necessarily ["name.ext"] and using the incorrect history
could cause weird bugs

fix: replace files -> challengeFiles on the client

refactor: DRY out ajax

fix: use file -> challengefile map

refactor: rename ajax types

fix: alphatize flash-messages.ts

revert: tribute page project

fix: remove logs

fix: prettier

fix: cypress

fix: prettier

fix: remove submitComplete action

fix: block UI for new projects

fix: handle code size

* fix: catch undefined files

* fix: don't default to undefined when it's already the default

* fix: only update savedChallenges if applicable

* fix: dehumidify backend + fine tune nearby stuff

* fix: prop-types

* fix: dehumidify sagas

* fix: variable name

* fix: types

* Apply suggestions from code review

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* fix: typo

* fix: prettier

* fix: props types

* fix: flash messages

* Update client/src/utils/challenge-request-helpers.ts

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* chore: rename function uniformize -> standardize

* fix: flash message

* fix: add link to forum on flash messages

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-03-31 10:34:40 -05:00
Tom a428284804
feat: release rdbms as beta (#45428) 2022-03-22 11:35:38 +05:30
Shaun Hamilton 25aa04e2e7
chore(curriculum): standardise titles for rwd-beta (#45398)
* chore(curriculum): accessibility-quiz

* chore(curriculum): cafe-menu

* chore(curriculum): ferris-wheel

* chore(curriculum): fix ferris-wheel tests

* chore(curriculum): colored-markers

* chore(curriculum): photo-gallery

* chore(curriculum): magazine

* chore(curriculum): penguin

* chore(curriculum): city-skyline

* chore(curriculum): registration-form

* chore(curriculum): picasso-painting

* chore(curriculum): balance-sheet

* chore(curriculum): piano

* chore(curriculum): rothko-painting

* fix: title min 15 chars
2022-03-14 16:54:43 +01:00
Tom 9e5f9b2a7c
fix: webhook process (#45385)
* fix: token rework functional

fix: clean up

fix: more clean up

fix: more clean up

fix: add widget back to settings

fix:

fix:

fix: cypress

Apply suggestions from code review

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

fix: use flash enum

* chore: rename webhookToken -> userToken

fix: add translations I forgot to save

* fix: add missing tones for flash messages

* fix: node test
2022-03-11 13:58:23 -08:00
Oliver Eyton-Williams 1e63f38c53
refactor: clean up tags tests (#45411)
I also added a note about why it's flaky, since I haven't been able to
fix the flakiness
2022-03-11 20:54:47 +05:30
Naomi Carrigan 982ba9b307
fix: unrevert verbiage changes (#45349)
* fix: unrevert verbiage changes

* fix: typo

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix(tools): update cypress test

* chore: apply sem's review

Co-authored-by: Sem Bauke <46919888+Sembauke@users.noreply.github.com>

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
Co-authored-by: Sem Bauke <46919888+Sembauke@users.noreply.github.com>
2022-03-04 16:35:56 -06:00
Tom e24c8abc7f
revert: release rdbms to production (#45347) 2022-03-04 15:15:20 +01:00
Tom 84c305ab08
feat: release rdbms to production (#45169)
* fix: add cert to email for when all certs are earned

* fix: unhide rdbms from production

* fix: cert project input field

* feat: add cypress tests

* fix: message on project pages to lower expectations

* fix: update instructions

* fix: add quincy's suggestions

* fix: add beta label and reorder

* fix: utils test

* fix: move rdbms to bottom of settings

* fix: cypress tests

* Apply suggestions from code review

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix: only drop seeded users webhook tokens

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-03-04 15:38:09 +05:30
Naomi Carrigan 3f22ab9d5a
feat(tools): test sass preview (#45167)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-02-24 14:24:07 +01:00
Tom fd14608492
feat: release rdbms on staging (#44576)
fix: unhide cert from settings page

fix: add cert variables where missing

fix: show token on settings page

feat: add challenges to certified user data

fix: stylize settings page a little bit

fix: only show rdbms when upcomingChanges = true

fix: relational databases -> relational database
2022-02-18 17:29:30 +01:00
Bruce B 7abb89326b
fix(a11y): make breadcrumb nav more accessible (#45021)
* fix: make breadcrumb nav more accessible

* refactor: cypress test and jest snapshot

* slight adjustment to left breadcrumb focus outline

* feat: translate aria for nav

* chore(tools): update snapshot

Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
2022-02-15 21:44:18 +03:00
Krzysztof G 0f2246b750
feat: test custom output for js objects (#45077) 2022-02-10 14:38:03 -06:00
Oliver Eyton-Williams 5f06b7805c
test: titles in project previews (#45051)
* fix: trim titles before injecting into iframes

Surrounding whitespace isn't useful

* test: check preview iframe has correct title
2022-02-11 00:57:50 +07:00
Naomi Carrigan 8d13163e21
feat(tools): test file buttons (#44919)
* feat(tools): test file buttons

* fix: set SHOW_NEW_CURRICULUM to true

* fix: landing test
2022-02-10 09:39:12 -06:00
Oliver Eyton-Williams c541baf179
fix(client): update invalid stored code (#44437)
* fix: repair invalid stored code
2022-02-01 10:09:08 -06:00
Oliver Eyton-Williams f63a650c01
fix: show-cert... Cypress tests (#44911)
* fix: scroll to certification section

* test: refactor and update show-cert

Pulls out the flaky code from the before hook (where a single failure
kills the suite) into the test.  Also, the visit to settings to view the
certification only needed to happen once.
2022-01-25 14:23:01 -06:00
Shaun Hamilton 9cb87d0257
chore: remove verify-can-claim-cert logic (#44574)
* chore: remove verify-can-claim-cert logic

* remove extraneous

* remove console log before Nich wakes up

* add api route back with flash

* remove unnecessary logic in completion-epic

* change tests for new layout

* dynamically use api location

* rename file

* fix Cypress api location

* fix(test): anchor does not have disabled class

* fix(tests): change js test to claim from /settings

* chore: change status to 410 (gone)

* update testing again

* oliver is nitpicky

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* make oliver happy

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-01-18 08:52:49 -06:00
Ahmad Abdolsaheb e97920ae9c
feat: increate minimum challenge requirement AB test (#44764)
* feat: increate minimum challenge requirement AB test

* fix: adjust tests

Co-authored-by: ahmad abdolsaheb <home@mac-16.local>
2022-01-13 12:51:55 -08:00
Oliver Eyton-Williams ff566d441a
fix: rename superblock to use /2022/ (#44535)
* chore: update superblock properties

* refactor: remove isAudited from certs

It was always defaulting to English, anyway.

* refactor: get superblock from metas, not dirs

* fix: rename responsive-web-design-22

This converts the slugs to /2022/responsive-web-design

* refactor: remove unused export

* test: update test with new curriculum config

* refactor: use key not [key]

* refactor: remove directory reference from test
2021-12-21 12:35:51 -06:00
Oliver Eyton-Williams 48f88428e8
test: login more directly (#44467)
* test: login more directly

* test: separate login from other visits

In a single test, Cypress can only visit within a single domain, hence
the separation.

* chore: fail slowly for all strategies

* test: user certified user for showing cert

* test: fix and cleanup certifications
2021-12-11 14:34:16 +05:30