Skip to content

Commit f00a092

Browse files
committed
test: replace ActiveRecord fixtures with oaken seeds
Seed the shared users once per suite (idempotent) instead of loading global fixtures, label the admin instructeur, and migrate all users(:default_user) / administrateurs(:default_admin) / instructeurs(:default_instructeur_admin) call sites to the oaken labels (users.usager, users.admin, administrateurs.default, instructeurs.admin). Factories now look up the seeded records.
1 parent 009cc1a commit f00a092

93 files changed

Lines changed: 152 additions & 170 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

db/seeds/users.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44

55
admin = users.create :admin, unique_by: :email, email: "admin@exemple.fr"
66
admin.create_instructeur! if admin.instructeur.nil?
7+
admin.instructeur.update!(bypass_email_login_token: true)
78
admin.create_administrateur! if admin.administrateur.nil?
89

910
instructeur = users.create :instructeur, unique_by: :email, email: "instructeur@exemple.fr"
1011
instructeur.create_instructeur! if instructeur.instructeur.nil?
1112

1213
administrateurs.label default: admin.administrateur
13-
instructeurs.label default: instructeur.instructeur
14+
instructeurs.label default: instructeur.instructeur, admin: admin.instructeur

spec/components/dossiers/message_component_spec.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@
387387
end
388388

389389
describe 'groupe_gestionnaire' do
390-
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: administrateurs(:default_admin)) }
390+
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: administrateurs.default) }
391391
let(:groupe_gestionnaire) { commentaire.groupe_gestionnaire }
392392
let(:connected_user) { commentaire.sender }
393393
subject { render_inline(component).to_html }
@@ -405,7 +405,7 @@
405405

406406
context 'with an gestionnaire message' do
407407
let(:gestionnaire) { create(:gestionnaire) }
408-
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: administrateurs(:default_admin), gestionnaire: gestionnaire, body: 'Second message') }
408+
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: administrateurs.default, gestionnaire: gestionnaire, body: 'Second message') }
409409

410410
it 'should display gestionnaire’s email' do
411411
is_expected.to have_text(gestionnaire.email)
@@ -420,7 +420,7 @@
420420
end
421421

422422
context 'when commentaire had been written by connected gestionnaire and discarded' do
423-
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: administrateurs(:default_admin), gestionnaire: gestionnaire, body: 'Second message', discarded_at: 2.days.ago) }
423+
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: administrateurs.default, gestionnaire: gestionnaire, body: 'Second message', discarded_at: 2.days.ago) }
424424

425425
it do
426426
is_expected.not_to have_selector("form[action=\"#{form_url}\"]")
@@ -429,7 +429,7 @@
429429
end
430430

431431
context 'on a procedure where commentaire had been written another gestionnaire' do
432-
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: administrateurs(:default_admin), gestionnaire: create(:gestionnaire), body: 'Second message') }
432+
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: administrateurs.default, gestionnaire: create(:gestionnaire), body: 'Second message') }
433433

434434
it { is_expected.not_to have_selector("form[action=\"#{form_url}\"]") }
435435
end
@@ -446,7 +446,7 @@
446446
let(:present_date) { Time.zone.local(2018, 9, 2, 10, 5, 0) }
447447
let(:creation_date) { present_date }
448448
let(:commentaire) do
449-
travel_to(creation_date) { create(:commentaire_groupe_gestionnaire, sender: administrateurs(:default_admin)) }
449+
travel_to(creation_date) { create(:commentaire_groupe_gestionnaire, sender: administrateurs.default) }
450450
end
451451

452452
subject do

spec/components/instructeurs/procedure_summary_component_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
RSpec.describe Instructeurs::ProcedureSummaryComponent, type: :component do
66
include Rails.application.routes.url_helpers
77

8-
let(:administrateur) { administrateurs(:default_admin) }
8+
let(:administrateur) { administrateurs.default }
99
let(:procedure) { create(:procedure) }
10-
let(:instructeur) { instructeurs(:default_instructeur_admin) }
10+
let(:instructeur) { instructeurs.admin }
1111

1212
# Default empty counters, using Hash.new(0) for simplicity
1313
let(:component) { described_class.new(procedure:) }

spec/controllers/administrateurs/api_tokens_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
describe Administrateurs::APITokensController, type: :controller do
4-
let(:admin) { administrateurs(:default_admin) }
4+
let(:admin) { administrateurs.default }
55
let(:procedure) { create(:procedure, administrateur: admin) }
66

77
before { sign_in(admin.user) }

spec/controllers/administrateurs/archives_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
describe Administrateurs::ArchivesController, type: :controller do
4-
let(:admin) { administrateurs(:default_admin) }
4+
let(:admin) { administrateurs.default }
55
let(:procedure) { create :procedure, groupe_instructeurs: [groupe_instructeur1, groupe_instructeur2] }
66
let(:groupe_instructeur1) { create(:groupe_instructeur) }
77
let(:groupe_instructeur2) { create(:groupe_instructeur) }

spec/controllers/administrateurs/attestation_template_v2s_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
describe Administrateurs::AttestationTemplateV2sController, type: :controller do
4-
let(:admin) { administrateurs(:default_admin) }
4+
let(:admin) { administrateurs.default }
55
let(:attestation_acceptation_template) { build(:attestation_template, :v2) }
66
let(:procedure) { create(:procedure, :published, administrateur: admin, attestation_acceptation_template:, libelle: "Ma démarche") }
77
let(:logo) { fixture_file_upload('spec/fixtures/files/white.png', 'image/png') }

spec/controllers/administrateurs/attestation_templates_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
describe Administrateurs::AttestationTemplatesController, type: :controller do
4-
let(:admin) { administrateurs(:default_admin) }
4+
let(:admin) { administrateurs.default }
55
let(:attestation_template) { build(:attestation_template) }
66
let(:procedure) { create(:procedure, administrateur: admin, attestation_acceptation_template: attestation_template) }
77
let(:logo) { fixture_file_upload('spec/fixtures/files/white.png', 'image/png') }

spec/controllers/administrateurs/contact_informations_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
describe Administrateurs::ContactInformationsController, type: :controller do
4-
let(:admin) { administrateurs(:default_admin) }
4+
let(:admin) { administrateurs.default }
55
let(:procedure) { create(:procedure, administrateurs: [admin]) }
66
let(:groupe_instructeur) { procedure.defaut_groupe_instructeur }
77

spec/controllers/administrateurs/dossier_submitted_messages_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
describe Administrateurs::DossierSubmittedMessagesController, type: :controller do
4-
let(:administrateur) { administrateurs(:default_admin) }
4+
let(:administrateur) { administrateurs.default }
55
let(:tiptap_body) { { type: 'doc', content: [{ type: 'paragraph', content: [{ type: 'text', text: 'hello' }] }] }.to_json }
66

77
before { sign_in(administrateur.user) }

spec/controllers/administrateurs/experts_procedures_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
describe Administrateurs::ExpertsProceduresController, type: :controller do
4-
let(:admin) { administrateurs(:default_admin) }
4+
let(:admin) { administrateurs.default }
55
let(:procedure) { create :procedure, administrateur: admin }
66

77
before do

0 commit comments

Comments
 (0)