demarches-normaliennes/spec/controllers/users
Sébastien Carceles 20136b7ac8
feat(demarche): create and prefill a dossier with POST request (#8233)
* add base controller for public api

* add dossiers controller with basic checks

* create the dossier

* ensure content-type is json

* prefill dossier with given values

* mark a dossier as prefilled

When a dossier is prefilled, it's allowed not to have a user.

Plus, we add a secure token to the dossier, which we will need later to set a
user after sign in / sign up.

* set user as owner of an orphan prefilled dossier

When a visitor comes from the dossier_url answered by the public api,
the dossier is orphan:
- when the user is already authenticated: they become the owner
- when the user is not authenticated: they can sign in / sign up / france_connect
and then they become the owner

So here is the procedure:
- allow to sign in / sign up / france connect when user is unauthenticated
- set dossier ownership when the dossier is orphan
- check dossier ownership when the dossier is not
- redirect to brouillon path when user is signed in and owner

* mark the dossier as prefilled when it's prefilled
(even with a GET request, because it will be useful later on, for
exmample in order to cleanup the unused prefilled dossiers)

* system spec: prefilling dossier with post request
2023-01-03 14:46:10 +01:00
..
activate_controller_spec.rb ActivateController: add tests and clean a bit 2019-08-16 11:22:36 +02:00
commencer_controller_spec.rb feat(demarche): create and prefill a dossier with POST request (#8233) 2023-01-03 14:46:10 +01:00
confirmations_controller_spec.rb specs: always require rails_helper 2020-03-31 12:48:32 +02:00
dossiers_controller_spec.rb feat(demarche): sign up when prefilling a dossier (#8247) 2022-12-15 10:58:17 +01:00
passwords_controller_spec.rb password: add specific page for reset instructions 2021-04-22 14:24:15 +02:00
profil_controller_spec.rb feat(api_token): add profile api token card 2022-12-07 18:19:37 +01:00
registrations_controller_spec.rb spec: replace reference to ds in password 2020-07-23 16:20:16 +02:00
sessions_controller_spec.rb harden email validation 2022-03-24 13:00:54 +01:00
transfers_controller_spec.rb fix(dossier_transfer): require a valid email 2022-08-03 11:44:54 +02:00
user_controller_spec.rb specs: always require rails_helper 2020-03-31 12:48:32 +02:00