Commit graph

64 commits

Author SHA1 Message Date
Pierre de La Morinerie
970c3e4b2b specs: avoid executing business logic in Procedure factory
Calling business logic in a factory is a code-smell, because it
usually requires the object to be saved into database, and may have
unintended consequences when the business logic is changed.

Also, this allows to just build a published procedure, without saving it
to the database.
2021-11-23 08:07:07 +01:00
Paul Chavard
64cfb4d64e Fix sort with revisions 2021-07-23 10:57:04 +02:00
Pierre de La Morinerie
32ab2f0a80 instructeur: limit the maximum size of a filter value
This prevents the URL from exceeding the max size, and
causing '414: Request-URI too large' errors.
2021-07-20 14:49:48 +02:00
Pierre de La Morinerie
40b3ea8ad6
Revert "Instructeurs : limitation de la valeur d'un filtre à 100 caractères" 2021-07-13 18:19:46 +02:00
Pierre de La Morinerie
3c8a88a660 instructeur: limit the maximum size of a filter value
This prevents the URL from exceeding the max size, and
causing '414: Request-URI too large' errors.
2021-07-08 16:17:22 +02:00
simon lehericey
50f679746f do not extract twice the same dossier_id if the dossier is followed twice 2021-05-04 16:38:34 +02:00
simon lehericey
553e1d973c remove old methods 2021-04-22 10:46:04 +02:00
Paul Chavard
70500e3d56 Groupe instructeur selector default blank 2021-03-09 14:47:23 +01:00
Paul Chavard
89ec3923f2 Defaut groupe instructeur ordered by label 2021-03-04 10:35:44 +01:00
Pierre de La Morinerie
98be7e2076 Fix new Rubocop warnings 2021-02-16 16:31:30 +00:00
simon lehericey
4960eda5cb use stable id 2020-12-17 10:51:09 +01:00
simon lehericey
cbccdea8e0 move displayed_fields for select to procedure_controller 2020-12-17 10:51:08 +01:00
Paul Chavard
a3f3b8a8e0 procedure.dossiers through revisions 2020-09-22 10:55:17 +02:00
clemkeirua
d01a53eb72 remove :cached_notifications gate 2020-09-21 08:28:42 +00:00
clemkeirua
c7b96d3d43 add feature-flip for instructeurs on cached notifications 2020-09-08 15:40:42 +00:00
clemkeirua
52ea5ef89a make Dossier#with_notifications great again
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2020-09-08 15:40:42 +00:00
Paul Chavard
1488e0964b update models specs to use revisions 2020-09-02 11:26:26 +02:00
Pierre de La Morinerie
ce53e219e0 models: require belong_to associations on procedure_presentation
Some tests are still failing
2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
c1e2928ce7 models: require belong_to associations on assign_to 2020-08-18 15:57:36 +02:00
Judith
9be58aa012 only downcasing search values for yes_no type_de_champs 2020-06-10 15:55:25 +02:00
Judith
ad53dfa84d Instructeurs: Changed the filters from 'true/false' to 'oui/non' for yes_no type_de_champ 2020-06-10 15:50:41 +02:00
Christophe Robillard
dc31f41c26 fix tests for procedure_presentation 2020-04-06 17:39:51 +02:00
Pierre de La Morinerie
4cb747fdb6 specs: always require rails_helper
Test helpers are separated between two files: spec_helper and
rails_helper. This separation is meant to allow tests that do not
require Rails (like testing standalone libs) to boot faster.

The spec_helper file is always loaded, through `--require spec_helper`
in the `.rspec` config file. When needed, the rails_helper file is
expected to be required manually.

This is fine, but:
- Many test files have a redundant `require 'spec_helper'` line;
- Many test files should require `rails_helper`, but don't.

Not requiring `rails_helper` will cause the Rails-concerned section of
the test environment not to be configured–which may cause subtle bugs
(like the test database not being properly initialized).

Moreover, Spring loads all the Rails files on preloading anyway. So the
gains from using only `spec_helper` are thin.

To streamline this process, this commit:
- Configures `.rspec` to require `rails_helper` by default;
- Remove all manual requires to spec_helper or rails_helper.

Reference: https://stackoverflow.com/questions/24145329/how-is-spec-rails-helper-rb-different-from-spec-spec-helper-rb-do-i-need-it
2020-03-31 12:48:32 +02:00
Christophe Robillard
e8bef76772 fix test for procedure presentation 2020-03-03 18:07:50 +01:00
Pierre de La Morinerie
8e6930d257 instructeurs: fix ProcedurePresentation to use instructeur.user.email
The `joins` are declared explicitely in order to associate a predictable
name to the joined table.

Otherwise, when the query is joined with `:users`, ActiveRecord will
alias the join automatically  to solve the conflict. Unfortunately, the
automatic resolution means that the table name becomes unpredictable,
and thus unsuitable to perform queries on.
2019-11-04 10:44:24 +01:00
simon lehericey
e2acb0a946 ProcedurePresentation: can use groupe instructeur 2019-09-18 15:51:02 +02:00
simon lehericey
3fde2a6f70 Rename gestionnaire in code to instructeur 2019-08-12 13:47:01 +02:00
Nicolas Bouilleaud
c5122ee7f5 Allow filtering ProcedurePresentation by followers_gestionnaires
fixes #3464
2019-04-10 14:32:51 +02:00
Frederic Merizen
efa71284fc [#3477] Test eager_load_displayed_fields 2019-03-11 17:14:17 +01:00
Frederic Merizen
70bf6aecf6 [#3477] Filter by mutliple values 2019-03-11 17:14:17 +01:00
Frederic Merizen
5d01e37d70 [#3477] Make filters stand out a little more in spec 2019-03-11 17:14:17 +01:00
gregoirenovel
8b0b8162f0 Enable the Layout/SpaceAfterComma cop 2019-01-03 10:53:50 +01:00
Frederic Merizen
aff93ecd6a Simplify test syntax 2018-10-26 17:53:36 +02:00
Frederic Merizen
f6207bee26 Do not take time of day into account when searching dates 2018-10-26 17:53:26 +02:00
simon lehericey
a06f872a4b ProcedurePresentation: rescue big int as a datetime value 2018-10-26 14:39:17 +02:00
simon lehericey
63db387984 ProcedurePresentation: display dossier date in d/m/Y 2018-10-26 10:10:20 +00:00
simon lehericey
3685c65fb7 [fix #2905] fix DATE_TRUNC usage
DATE_TRUNC is played on the db where the timestamp are stored in utc.
So if a user search for 12/12/2012 in Paris timezone and that we truncate it should do something similar to :

SELECT DATE_TRUNC('day', foo.timezone) from (SELECT timestamp '2012-12-12 00:00:00' AT TIME ZONE 'Europe/Paris') as foo;
=> 2012-12-11

To avoid such pb, I suggest avoiding DATE_TRUNC when exact results are needed
2018-10-26 10:10:20 +00:00
simon lehericey
e684cec516 DateTime.new => Time.zone.local 2018-10-26 10:10:20 +00:00
Frederic Merizen
64cb231b01 [#2675] Fix notification sort order 2018-10-24 17:10:30 +02:00
Frederic Merizen
0dea9f9ece [#2741] Additional test to filtered_ids to be sure 2018-10-17 12:16:51 +02:00
Frederic Merizen
c652cf3ae5 [#2741] Expand unit tests for sorted_ids just to be sure 2018-10-17 12:16:51 +02:00
Frederic Merizen
37fb358bd5 [#2741] Expand unit tests for #get_value just to be sure 2018-10-17 12:16:51 +02:00
Frederic Merizen
a2bd0582b9 [Fix #2741] Filter / sort by en_construction_at 2018-10-17 12:16:51 +02:00
Frederic Merizen
3dca3c7dee [Fix #1961] Check that sorted_ids works for individual 2018-10-11 12:13:03 +02:00
Frederic Merizen
abd066c6f4 [#1961] filtered_ids for individual 2018-10-11 12:13:03 +02:00
Frederic Merizen
34da620b0f [#1961] get_value for individual 2018-10-11 12:13:03 +02:00
Frederic Merizen
5d862ae92b [#1961] Add individual fields 2018-10-11 12:13:03 +02:00
Frederic Merizen
577475f26e [Fix #2580] Filter by created_at / updated_at 2018-10-10 18:18:28 +02:00
Frederic Merizen
40a5ff0266 [#2750] do parsing of displayed_fields inside ProcedurePresentation
rather than in the view
2018-10-10 09:07:57 +02:00
Frederic Merizen
9fa7a6fd0e [#2750] Move get_value to ProcedurePresentation 2018-10-10 09:07:57 +02:00