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
|
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/pdf",
|
||||||
"application/msword",
|
"application/msword",
|
||||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||||
|
@ -16,6 +17,13 @@ class Champs::PieceJustificativeChamp < Champ
|
||||||
"image/jpeg"
|
"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
|
def main_value_name
|
||||||
:piece_justificative_file
|
:piece_justificative_file
|
||||||
end
|
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:
|
attributes:
|
||||||
champ:
|
champ:
|
||||||
value: La valeur du 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
|
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
|
describe '#for_api' do
|
||||||
let(:champ_pj) { create(:champ_piece_justificative) }
|
let(:champ_pj) { create(:champ_piece_justificative) }
|
||||||
let(:metadata) { champ_pj.piece_justificative_file.blob.metadata }
|
let(:metadata) { champ_pj.piece_justificative_file.blob.metadata }
|
||||||
|
|
Loading…
Reference in a new issue