dossier: prepare validations to piece_justificative champs
We can't yet enable the validations, because of an issue that will (hopefully) be solved with Rails 6. See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
This commit is contained in:
parent
f3c210e875
commit
fe13043efd
4 changed files with 30 additions and 2 deletions
|
@ -1,7 +1,8 @@
|
|||
class Champs::PieceJustificativeChamp < Champ
|
||||
PIECE_JUSTIFICATIVE_FILE_MAX_SIZE = 200.megabytes
|
||||
MAX_SIZE = 200.megabytes
|
||||
|
||||
PIECE_JUSTIFICATIVE_FILE_ACCEPTED_FORMATS = [
|
||||
ACCEPTED_FORMATS = [
|
||||
"text/plain",
|
||||
"application/pdf",
|
||||
"application/msword",
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
|
@ -16,6 +17,13 @@ class Champs::PieceJustificativeChamp < Champ
|
|||
"image/jpeg"
|
||||
]
|
||||
|
||||
# TODO: once we're running on Rails 6, re-enable this validation.
|
||||
# See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
|
||||
#
|
||||
# validates :piece_justificative_file,
|
||||
# content_type: ACCEPTED_FORMATS,
|
||||
# size: { less_than: MAX_SIZE }
|
||||
|
||||
def main_value_name
|
||||
:piece_justificative_file
|
||||
end
|
||||
|
|
4
config/locales/active_storage_validations.fr.yml
Normal file
4
config/locales/active_storage_validations.fr.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
fr:
|
||||
errors:
|
||||
messages:
|
||||
content_type_invalid: n’est pas d’un type accepté
|
|
@ -3,3 +3,4 @@ fr:
|
|||
attributes:
|
||||
champ:
|
||||
value: La valeur du champ
|
||||
piece_justificative_file: La pièce justificative
|
||||
|
|
|
@ -1,4 +1,19 @@
|
|||
require 'active_storage_validations/matchers'
|
||||
|
||||
describe Champs::PieceJustificativeChamp do
|
||||
include ActiveStorageValidations::Matchers
|
||||
|
||||
# TODO: once we're running on Rails 6, re-enable the PieceJustificativeChamp validator,
|
||||
# and re-enable this spec.
|
||||
#
|
||||
# See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
|
||||
describe "validations", pending: true do
|
||||
subject(:champ_pj) { build(:champ_piece_justificative) }
|
||||
|
||||
it { is_expected.to validate_size_of(:piece_justificative_file).less_than(Champs::PieceJustificativeChamp::MAX_SIZE) }
|
||||
it { is_expected.to validate_content_type_of(:piece_justificative_file).allowing(Champs::PieceJustificativeChamp::ACCEPTED_FORMATS) }
|
||||
end
|
||||
|
||||
describe '#for_api' do
|
||||
let(:champ_pj) { create(:champ_piece_justificative) }
|
||||
let(:metadata) { champ_pj.piece_justificative_file.blob.metadata }
|
||||
|
|
Loading…
Reference in a new issue