Skip to content

Commit

Permalink
improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
LucienMLD committed Jun 4, 2024
1 parent 909f409 commit 94a84f8
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 19 deletions.
6 changes: 1 addition & 5 deletions app/models/expert_subject.rb
Original file line number Diff line number Diff line change
Expand Up @@ -103,12 +103,8 @@ class ExpertSubject < ApplicationRecord

##
#
def match_filters_2
antenne_match_filters + institution_match_filters
end

def match_filters
MatchFilter.where(id: expert.antenne.match_filters.ids + expert.institution.match_filters.ids)
antenne_match_filters + institution_match_filters
end

## used for serialization in advisors csv
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
class UpdateMatchFilterRelationToPolymorphic < ActiveRecord::Migration[7.0]
def up
add_reference :match_filters, :filtrable_element, polymorphic: true, index: true
add_reference :match_filters, :filtrable_element, polymorphic: true, index: true, null: false

MatchFilter.find_each do |match_filter|
match_filter.update(filtrable_element: match_filter.antenne)
match_filter.update(filtrable_element_id: match_filter.antenne_id, filtrable_element_type: 'Antenne')
end

remove_reference :match_filters, :antenne, index: true
Expand Down
Binary file modified doc/domain_model.pdf
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -99,99 +99,107 @@
let!(:es_01) { create :expert_subject }

context 'with antenne filter only' do
let(:code_effectif_ok) { '03' } # 6 à 9 salariés
let(:code_effectif_ko) { '12' } # 20 à 49 salariés
before { es_01.expert.antenne.match_filters << match_filter_01 }

context 'matching nothing' do
let(:need_subject) { create :subject }
let(:facility) { create :facility, code_effectif: '12' } # 20 à 49 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ko }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end

context 'matching subject only' do
let(:facility) { create :facility, code_effectif: '12' } # 20 à 49 salariés
let(:need_subject) { tresorerie_subject }
let(:facility) { create :facility, code_effectif: code_effectif_ko }

it { is_expected.to contain_exactly(es_temoin) }
end

context 'matching effectif only' do
let(:need_subject) { create :subject }
let(:facility) { create :facility, code_effectif: '03' } # 6 à 9 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ok }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end

context 'matching subject and effectif' do
let(:need_subject) { tresorerie_subject }
let(:facility) { create :facility, code_effectif: '03' } # 6 à 9 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ok }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end
end

context 'with antenne and institution filter' do
let(:code_effectif_ok) { '03' } # 6 à 9 salariés
let(:code_effectif_ko) { '12' } # 20 à 49 salariés

before do
es_01.expert.antenne.match_filters << match_filter_01
es_01.expert.institution.match_filters << match_filter_02
end

context 'matching nothing' do
let(:need_subject) { create :subject }
let(:facility) { create :facility, code_effectif: '12' } # 20 à 49 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ko }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end

context 'matching subject only' do
let(:facility) { create :facility, code_effectif: '12' } # 20 à 49 salariés
let(:need_subject) { tresorerie_subject }
let(:facility) { create :facility, code_effectif: code_effectif_ko }

it { is_expected.to contain_exactly(es_temoin) }
end

context 'matching effectif only' do
let(:need_subject) { create :subject }
let(:facility) { create :facility, code_effectif: '03' } # 6 à 9 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ok }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end

context 'matching subject and effectif' do
let(:need_subject) { tresorerie_subject }
let(:facility) { create :facility, code_effectif: '03' } # 6 à 9 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ok }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end
end

context 'with institution filter only' do
let(:code_effectif_ok) { '03' } # 6 à 9 salariés
let(:code_effectif_ko) { '32' } # 250 à 499 salariés

before { es_01.expert.institution.match_filters << match_filter_02 }

context 'matching nothing' do
let(:need_subject) { create :subject }
let(:facility) { create :facility, code_effectif: '32' } # 250 à 499 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ko }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end

context 'matching subject only' do
let(:facility) { create :facility, code_effectif: '32' } # 250 à 499 salariés
let(:need_subject) { tresorerie_subject }
let(:facility) { create :facility, code_effectif: code_effectif_ko }

it { is_expected.to contain_exactly(es_temoin) }
end

context 'matching effectif only' do
let(:need_subject) { create :subject }
let(:facility) { create :facility, code_effectif: '12' } # 20 à 49 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ok }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end

context 'matching subject and effectif' do
let(:need_subject) { tresorerie_subject }
let(:facility) { create :facility, code_effectif: '12' } # 20 à 49 salariés
let(:facility) { create :facility, code_effectif: code_effectif_ok }

it { is_expected.to contain_exactly(es_temoin, es_01) }
end
Expand Down

0 comments on commit 94a84f8

Please sign in to comment.