Skip to content

Commit e5de2d8

Browse files
committed
fix filename
1 parent 16ccf70 commit e5de2d8

File tree

2 files changed

+58
-46
lines changed

2 files changed

+58
-46
lines changed

app/domain/operations/data_fixes/correct_invalid_fa_applicant_relationship_kinds.rb

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ def fetch_applications(type)
5656

5757
if %w[individual_market both].include?(type)
5858
individual_market_applications = ::IndividualMarket::Application.all.only(
59-
:hbx_id, :relationships, :id, :family_id, :aasm_state, :assistance_year, :transfer_id
59+
:hbx_id, :relationships, :id, :family_id, :current_state, :assistance_year
6060
).where(
6161
:relationships => {
6262
'$elemMatch' => {
63-
:kind => {'$nin' => AcaEntities::MagiMedicaid::Types::RelationshipKind.values},
63+
:kind => {'$nin' => AcaEntities::IndividualMarket::Types::RelationshipKind.values},
6464
:_id => {'$exists' => true}
6565
}
6666
}
@@ -102,21 +102,21 @@ def generate_report_or_fix_data(action_type, applications)
102102
end
103103
end
104104

105-
# Method to generate a report of invalid FA applicant relationships
105+
# Method to generate a report of invalid applicant relationships
106106
#
107107
# @param [Array] applications
108108
#
109109
# @return [void]
110110
def generate_report(applications)
111-
@csv_file = "invalid_fa_applicant_relationship_kinds_report_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv"
111+
@csv_file = "invalid_applicant_relationship_kinds_report_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv"
112112
CSV.open(@csv_file, 'w', force_quotes: true) do |csv|
113113
csv << [
114114
'Primary Person Hbx ID',
115-
'FA Application Hbx ID',
116-
'FA Application Type',
117-
'FA Application Assistance Year',
118-
'FA Application AASM State',
119-
'FA Application Transfer ID',
115+
'Application Hbx ID',
116+
'Application Type',
117+
'Application Assistance Year',
118+
'Application State',
119+
'Application Transfer ID',
120120
'Applicant/Source ID',
121121
'Relative ID',
122122
'Invalid Relationship Kind'
@@ -130,13 +130,19 @@ def generate_report(applications)
130130
# Handle both IndividualMarket::Relationship (source_id) and FinancialAssistance::Relationship (applicant_id)
131131
applicant_or_source_id = relationship.respond_to?(:applicant_id) ? relationship.applicant_id : relationship.source_id
132132

133+
# Determine application type and handle different field names
134+
is_individual_market = application.is_a?(::IndividualMarket::Application)
135+
app_type = is_individual_market ? 'IndividualMarket::Application' : 'FinancialAssistance::Application'
136+
app_state = is_individual_market ? application.current_state : application.aasm_state
137+
transfer_id = is_individual_market ? nil : application.transfer_id
138+
133139
csv << [
134140
primary_person.hbx_id,
135141
application.hbx_id,
136-
application.class.name,
142+
app_type,
137143
application.assistance_year,
138-
application.aasm_state,
139-
application.transfer_id,
144+
app_state,
145+
transfer_id,
140146
applicant_or_source_id,
141147
relationship.relative_id,
142148
relationship.kind
@@ -146,25 +152,25 @@ def generate_report(applications)
146152
end
147153
end
148154

149-
# Method to fix invalid FA applicant relationship kinds
155+
# Method to fix invalid applicant relationship kinds
150156
# If the relationship kind is 'self', the relationship is destroyed.
151157
# Otherwise, the relationship kind is updated to 'unrelated'.
152158
#
153159
# @param [Array] applications
154160
#
155161
# @return [void]
156162
def fix_invalid_relationship_kinds(applications)
157-
@csv_file = "invalid_fa_applicant_relationship_kinds_data_fix_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv"
163+
@csv_file = "invalid_applicant_relationship_kinds_data_fix_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv"
158164
CSV.open(
159165
@csv_file, 'w', force_quotes: true
160166
) do |csv|
161167
csv << [
162168
'Primary Person Hbx ID',
163-
'FA Application Hbx ID',
164-
'FA Application Type',
165-
'FA Application Assistance Year',
166-
'FA Application AASM State',
167-
'FA Application Transfer ID',
169+
'Application Hbx ID',
170+
'Application Type',
171+
'Application Assistance Year',
172+
'Application State',
173+
'Application Transfer ID',
168174
'Applicant/Source ID',
169175
'Relative ID',
170176
'Invalid Relationship Kind',
@@ -179,6 +185,12 @@ def fix_invalid_relationship_kinds(applications)
179185
# Handle both IndividualMarket::Relationship (source_id) and FinancialAssistance::Relationship (applicant_id)
180186
applicant_or_source_id = relationship.respond_to?(:applicant_id) ? relationship.applicant_id : relationship.source_id
181187

188+
# Determine application type and handle different field names
189+
is_individual_market = application.is_a?(::IndividualMarket::Application)
190+
app_type = is_individual_market ? 'IndividualMarket::Application' : 'FinancialAssistance::Application'
191+
app_state = is_individual_market ? application.current_state : application.aasm_state
192+
transfer_id = is_individual_market ? nil : application.transfer_id
193+
182194
old_kind = relationship.kind
183195

184196
if relationship.kind == 'self'
@@ -192,10 +204,10 @@ def fix_invalid_relationship_kinds(applications)
192204
csv << [
193205
primary_person.hbx_id,
194206
application.hbx_id,
195-
application.class.name,
207+
app_type,
196208
application.assistance_year,
197-
application.aasm_state,
198-
application.transfer_id,
209+
app_state,
210+
transfer_id,
199211
applicant_or_source_id,
200212
relationship.relative_id,
201213
old_kind,

spec/domain/operations/data_fixes/correct_invalid_fa_applicant_relationship_kinds_spec.rb

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
before :all do
77
DatabaseCleaner.clean
88

9-
file_path1 = Rails.root.join("invalid_fa_applicant_relationship_kinds_report_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv")
9+
file_path1 = Rails.root.join("invalid_applicant_relationship_kinds_report_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv")
1010
File.delete(file_path1) if File.exist?(file_path1)
11-
file_path2 = Rails.root.join("invalid_fa_applicant_relationship_kinds_data_fix_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv")
11+
file_path2 = Rails.root.join("invalid_applicant_relationship_kinds_data_fix_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv")
1212
File.delete(file_path2) if File.exist?(file_path2)
1313
end
1414

@@ -51,30 +51,30 @@
5151

5252
it 'fixes invalid fa applicant relationships with correct actions' do
5353
subject.call(action_type: 'data_fix')
54-
file_path = Rails.root.join("invalid_fa_applicant_relationship_kinds_data_fix_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv")
54+
file_path = Rails.root.join("invalid_applicant_relationship_kinds_data_fix_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv")
5555
expect(File.exist?(file_path)).to be_truthy
5656

5757
csv_data = CSV.read(file_path, headers: true)
5858
expect(csv_data.length).to eq(2)
5959
row1 = csv_data[0]
6060
expect(row1['Primary Person Hbx ID']).to eq(primary.hbx_id)
61-
expect(row1['FA Application Hbx ID']).to eq(fa_application.hbx_id)
62-
expect(row1['FA Application Type']).to eq('FinancialAssistance::Application')
63-
expect(row1['FA Application Assistance Year']).to eq(fa_application.assistance_year.to_s)
64-
expect(row1['FA Application AASM State']).to eq(fa_application.aasm_state)
65-
expect(row1['FA Application Transfer ID']).to be_blank
61+
expect(row1['Application Hbx ID']).to eq(fa_application.hbx_id)
62+
expect(row1['Application Type']).to eq('FinancialAssistance::Application')
63+
expect(row1['Application Assistance Year']).to eq(fa_application.assistance_year.to_s)
64+
expect(row1['Application State']).to eq(fa_application.aasm_state)
65+
expect(row1['Application Transfer ID']).to eq(fa_application.transfer_id)
6666
expect(row1['Applicant/Source ID']).to eq(primary_applicant_id.to_s)
6767
expect(row1['Relative ID']).to eq(dependent1_applicant_id.to_s)
6868
expect(row1['Invalid Relationship Kind']).to eq('self')
6969
expect(row1['Action Taken']).to eq('Destroyed relationship')
7070

7171
row2 = csv_data[1]
7272
expect(row2['Primary Person Hbx ID']).to eq(primary.hbx_id)
73-
expect(row2['FA Application Hbx ID']).to eq(fa_application.hbx_id)
74-
expect(row2['FA Application Type']).to eq('FinancialAssistance::Application')
75-
expect(row2['FA Application Assistance Year']).to eq(fa_application.assistance_year.to_s)
76-
expect(row2['FA Application AASM State']).to eq(fa_application.aasm_state)
77-
expect(row2['FA Application Transfer ID']).to be_blank
73+
expect(row2['Application Hbx ID']).to eq(fa_application.hbx_id)
74+
expect(row2['Application Type']).to eq('FinancialAssistance::Application')
75+
expect(row2['Application Assistance Year']).to eq(fa_application.assistance_year.to_s)
76+
expect(row2['Application State']).to eq(fa_application.aasm_state)
77+
expect(row2['Application Transfer ID']).to eq(fa_application.transfer_id)
7878
expect(row2['Applicant/Source ID']).to eq(dependent1_applicant_id.to_s)
7979
expect(row2['Relative ID']).to eq(dependent2_applicant_id.to_s)
8080
expect(row2['Invalid Relationship Kind']).to eq('other_relationship')
@@ -89,30 +89,30 @@
8989

9090
it 'generates reports with correct fa applicant relationships' do
9191
subject.call(action_type: 'report')
92-
file_path = Rails.root.join("invalid_fa_applicant_relationship_kinds_report_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv")
92+
file_path = Rails.root.join("invalid_applicant_relationship_kinds_report_#{TimeKeeper.date_of_record.strftime('%Y_%m_%d')}.csv")
9393
expect(File.exist?(file_path)).to be_truthy
9494

9595
csv_data = CSV.read(file_path, headers: true)
9696
expect(csv_data.length).to eq(2)
9797

9898
row1 = csv_data[0]
9999
expect(row1['Primary Person Hbx ID']).to eq(primary.hbx_id)
100-
expect(row1['FA Application Hbx ID']).to eq(fa_application.hbx_id)
101-
expect(row1['FA Application Type']).to eq('FinancialAssistance::Application')
102-
expect(row1['FA Application Assistance Year']).to eq(fa_application.assistance_year.to_s)
103-
expect(row1['FA Application AASM State']).to eq(fa_application.aasm_state)
104-
expect(row1['FA Application Transfer ID']).to be_blank
100+
expect(row1['Application Hbx ID']).to eq(fa_application.hbx_id)
101+
expect(row1['Application Type']).to eq('FinancialAssistance::Application')
102+
expect(row1['Application Assistance Year']).to eq(fa_application.assistance_year.to_s)
103+
expect(row1['Application State']).to eq(fa_application.aasm_state)
104+
expect(row1['Application Transfer ID']).to eq(fa_application.transfer_id)
105105
expect(row1['Applicant/Source ID']).to eq(primary_applicant_id.to_s)
106106
expect(row1['Relative ID']).to eq(dependent1_applicant_id.to_s)
107107
expect(row1['Invalid Relationship Kind']).to eq('self')
108108

109109
row2 = csv_data[1]
110110
expect(row2['Primary Person Hbx ID']).to eq(primary.hbx_id)
111-
expect(row2['FA Application Hbx ID']).to eq(fa_application.hbx_id)
112-
expect(row2['FA Application Type']).to eq('FinancialAssistance::Application')
113-
expect(row2['FA Application Assistance Year']).to eq(fa_application.assistance_year.to_s)
114-
expect(row2['FA Application AASM State']).to eq(fa_application.aasm_state)
115-
expect(row2['FA Application Transfer ID']).to be_blank
111+
expect(row2['Application Hbx ID']).to eq(fa_application.hbx_id)
112+
expect(row2['Application Type']).to eq('FinancialAssistance::Application')
113+
expect(row2['Application Assistance Year']).to eq(fa_application.assistance_year.to_s)
114+
expect(row2['Application State']).to eq(fa_application.aasm_state)
115+
expect(row2['Application Transfer ID']).to eq(fa_application.transfer_id)
116116
expect(row2['Applicant/Source ID']).to eq(dependent1_applicant_id.to_s)
117117
expect(row2['Relative ID']).to eq(dependent2_applicant_id.to_s)
118118
expect(row2['Invalid Relationship Kind']).to eq('other_relationship')

0 commit comments

Comments
 (0)