Skip to content

Commit

Permalink
Merge pull request #223 from b123400/fix-221
Browse files Browse the repository at this point in the history
Update test cases for #221
  • Loading branch information
zdavatz committed May 12, 2023
2 parents 6f7e0ca + e7587da commit 41cb720
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 68 deletions.
2 changes: 1 addition & 1 deletion src/plugin/shortage.rb
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ def update_drugshortage(agent = Mechanize.new)
added_info.shortage_last_update = Date.strptime(shortage.parent.css('td')[4].text,"%d.%m.%Y").to_s
added_info.shortage_state = shortage.parent.css('td')[3].text
added_info.shortage_delivery_date = shortage.parent.css('td')[1].text
added_info.shortage_link = (BASE_URI + '/' + shortage.parent.css('td')[0].children.first.children.first.attributes.first.last.value).clone
added_info.shortage_link = (shortage.parent.css('td')[0].children.first.attributes.first.last.value).clone
@found_shortages[added_info.gtin] = added_info
end
old_packages_with_shortage = @app.active_packages.find_all do |package|
Expand Down
64 changes: 35 additions & 29 deletions test/data/html/drugshortage-changed.html
Original file line number Diff line number Diff line change
Expand Up @@ -201,37 +201,43 @@
<th scope="col"><font face="Arial" color="Black" size="3">m&ouml;gliche Alternativen</font></th>
</tr>
<tr>
<td nowrap><font face="Arial" color="Black" size="3"><a href="detail_lieferengpass.aspx?ID=2934">ALENDRON D3-Mepha Wochentabl 70/5600 12 Stk</a></font></td>
<td><font face="Arial" color="Black" size="3">7680623550019</font></td>
<td><font face="Arial" color="Black" size="3">6198724</font></td>
<td nowrap><font face="Arial" color="Black" size="3">Mepha Pharma AG</font></td>
<td><font face="Arial" color="Black" size="3">22.04.2017</font></td>
<td align="center"><font face="Arial" color="Black" size="3">28</font></td>
<td><font face="Arial" color="Black" size="3">aktuell keine Lieferungen</font></td>
<td><font face="Arial" color="Black" size="3">in Abkl&auml;rung / en cours de clarification</font></td>
<td><font face="Arial" color="Black" size="3"><a href="alternativen.aspx?GTIN=7680623550019">Alternativen?</a></font></td>
<td style="white-space:nowrap;"><a href="https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2934">ALENDRON D3-Mepha Wochentabl 70/5600 12 Stk</a></td>
<td align="center">2024</td>
<td><a href="https://www.drugshortage.ch/alternativen.aspx?GTIN=7680623550019">Alternativen?</a></td>
<td align="center">aktuell keine Lieferungen</td>
<td align="center">22.04.2017</td>
<td style="white-space:nowrap;">Mepha Pharma AG</td>
<td>7680623550019</td>
<td align="center">6198724</td>
<td align="center">387</td>
<td>C09AA06</td>
<td>C09AA06SETN000000010FILT</td>
</tr>
<tr bgcolor="Silver">
<td nowrap><font face="Arial" color="Black" size="3"><a href="detail_lieferengpass.aspx?ID=3056">ALENDRONAT Sandoz Filmtabl 70 mg 12 Stk</a></font></td>
<td><font face="Arial" color="Black" size="3">762860504332</font></td>
<td><font face="Arial" color="Black" size="3">3663511</font></td>
<td nowrap><font face="Arial" color="Black" size="3">Sandoz Pharmaceuticals AG</font></td>
<td><font face="Arial" color="Black" size="3">14.04.2017</font></td>
<td align="center"><font face="Arial" color="Black" size="3">5</font></td>
<td><font face="Arial" color="Black" size="3">aktuell keine Lieferungen</font></td>
<td><font face="Arial" color="Black" size="3">30.06.2017</font></td>
<td><font face="Arial" color="Black" size="3"><a href="alternativen.aspx?GTIN=762860504332">Alternativen?</a></font></td>
<tr bgcolor="Silver">
<td style="white-space:nowrap;"><a href="https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=3056">ALENDRONAT Sandoz Filmtabl 70 mg 12 Stk</a></td>
<td align="center">2024</td>
<td><a href="https://www.drugshortage.ch/alternativen.aspx?GTIN=762860504332">Alternativen?</a></td>
<td align="center">aktuell keine Lieferungen</td>
<td align="center">14.04.2017</td>
<td style="white-space:nowrap;">Sandoz Pharmaceuticals AG</td>
<td>762860504332</td>
<td align="center">3663511</td>
<td align="center">387</td>
<td>C09AA06</td>
<td>C09AA06SETN000000010FILT</td>
</tr>
<<tr>
<td nowrap><font face="Arial" color="Black" size="3"><a href="detail_lieferengpass.aspx?ID=2786">ALGIFOR Filmtabl 200 mg 20 Stk</a></font></td>
<td><font face="Arial" color="Black" size="3">7680519690140</font></td>
<td><font face="Arial" color="Black" size="3">3145147</font></td>
<td nowrap><font face="Arial" color="Black" size="3">Vifor Consumer Health SA</font></td>
<td><font face="Arial" color="Black" size="3">13.01.2017</font></td>
<td align="center"><font face="Arial" color="Black" size="3">12</font></td>
<td><font face="Arial" color="Black" size="3">aktuell keine Lieferungen</font></td>
<td><font face="Arial" color="Black" size="3">offen</font></td>
<td><font face="Arial" color="Black" size="3"><a href="alternativen.aspx?GTIN=7680519690140">Alternativen?</a></font></td>
<tr>
<td style="white-space:nowrap;"><a href="https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2786">ALGIFOR Filmtabl 200 mg 20 Stk</a></td>
<td align="center">2024</td>
<td><a href="https://www.drugshortage.ch/alternativen.aspx?GTIN=7680519690140">Alternativen?</a></td>
<td align="center">aktuell keine Lieferungen</td>
<td align="center">13.01.2017</td>
<td style="white-space:nowrap;">Vifor Consumer Health SA</td>
<td>7680519690140</td>
<td align="center">3145147</td>
<td align="center">387</td>
<td>C09AA06</td>
<td>C09AA06SETN000000010FILT</td>
</tr>
</table>
</div>
Expand Down
64 changes: 36 additions & 28 deletions test/data/html/drugshortage.html
Original file line number Diff line number Diff line change
Expand Up @@ -201,37 +201,45 @@
<th scope="col"><font face="Arial" color="Black" size="3">m&ouml;gliche Alternativen</font></th>
</tr>
<tr>
<td nowrap><font face="Arial" color="Black" size="3"><a href="detail_lieferengpass.aspx?ID=2934">ALENDRON D3-Mepha Wochentabl 70/5600 12 Stk</a></font></td>
<td><font face="Arial" color="Black" size="3">7680623550019</font></td>
<td><font face="Arial" color="Black" size="3">6198724</font></td>
<td nowrap><font face="Arial" color="Black" size="3">Mepha Pharma AG</font></td>
<td><font face="Arial" color="Black" size="3">24.02.2017</font></td>
<td align="center"><font face="Arial" color="Black" size="3">28</font></td>
<td><font face="Arial" color="Black" size="3">aktuell keine Lieferungen</font></td>
<td><font face="Arial" color="Black" size="3">offen</font></td>
<td><font face="Arial" color="Black" size="3"><a href="alternativen.aspx?GTIN=7680623550019">Alternativen?</a></font></td>
<td style="white-space:nowrap;"><a href="https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2934">ALENDRON D3-Mepha Wochentabl 70/5600 12 Stk</a></td>
<td align="center">2024</td>
<td><a href="https://www.drugshortage.ch/alternativen.aspx?GTIN=7680623550019">Alternativen?</a></td>
<td align="center">aktuell keine Lieferungen</td>
<td align="center">22.02.2017</td>
<td style="white-space:nowrap;">Mepha Pharma AG</td>
<td>7680623550019</td>
<td align="center">6198724</td>
<td align="center">387</td>
<td>C09AA06</td>
<td>C09AA06SETN000000010FILT</td>

</tr>
<tr bgcolor="Silver">
<td nowrap><font face="Arial" color="Black" size="3"><a href="detail_lieferengpass.aspx?ID=3056">ALENDRONAT Sandoz Filmtabl 70 mg 12 Stk</a></font></td>
<td><font face="Arial" color="Black" size="3">762860504332</font></td>
<td><font face="Arial" color="Black" size="3">3663511</font></td>
<td nowrap><font face="Arial" color="Black" size="3">Sandoz Pharmaceuticals AG</font></td>
<td><font face="Arial" color="Black" size="3">14.04.2017</font></td>
<td align="center"><font face="Arial" color="Black" size="3">5</font></td>
<td><font face="Arial" color="Black" size="3">aktuell keine Lieferungen</font></td>
<td><font face="Arial" color="Black" size="3">30.06.2017</font></td>
<td><font face="Arial" color="Black" size="3"><a href="alternativen.aspx?GTIN=762860504332">Alternativen?</a></font></td>
<td style="white-space:nowrap;"><a href="https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=3056">ALENDRONAT Sandoz Filmtabl 70 mg 12 Stk</a></td>
<td align="center">2024</td>
<td><a href="https://www.drugshortage.ch/alternativen.aspx?GTIN=762860504332">Alternativen?</a></td>
<td align="center">aktuell keine Lieferungen</td>
<td align="center">14.04.2017</td>
<td style="white-space:nowrap;">Sandoz Pharmaceuticals AG</td>
<td>762860504332</td>
<td align="center">3663511</td>
<td align="center">387</td>
<td>C09AA06</td>
<td>C09AA06SETN000000010FILT</td>
</tr>
<tr>
<td nowrap><font face="Arial" color="Black" size="3"><a href="detail_lieferengpass.aspx?ID=2786">ALGIFOR Filmtabl 200 mg 20 Stk</a></font></td>
<td><font face="Arial" color="Black" size="3">7680519690140</font></td>
<td><font face="Arial" color="Black" size="3">3145147</font></td>
<td nowrap><font face="Arial" color="Black" size="3">Vifor Consumer Health SA</font></td>
<td><font face="Arial" color="Black" size="3">13.01.2017</font></td>
<td align="center"><font face="Arial" color="Black" size="3">12</font></td>
<td><font face="Arial" color="Black" size="3">aktuell keine Lieferungen</font></td>
<td><font face="Arial" color="Black" size="3">offen</font></td>
<td><font face="Arial" color="Black" size="3"><a href="alternativen.aspx?GTIN=7680519690140">Alternativen?</a></font></td>
<tr>
<td style="white-space:nowrap;"><a href="https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2786">ALGIFOR Filmtabl 200 mg 20 Stk</a></td>
<td align="center">2024</td>
<td><a href="https://www.drugshortage.ch/alternativen.aspx?GTIN=7680519690140">Alternativen?</a></td>
<td align="center">aktuell keine Lieferungen</td>
<td align="center">13.01.2017</td>
<td style="white-space:nowrap;">Vifor Consumer Health SA</td>
<td>7680519690140</td>
<td align="center">3145147</td>
<td align="center">387</td>
<td>C09AA06</td>
<td>C09AA06SETN000000010FILT</td>

</tr>
</table>
</div>
Expand Down
19 changes: 9 additions & 10 deletions test/test_plugin/shortage.rb
Original file line number Diff line number Diff line change
Expand Up @@ -180,11 +180,11 @@ def expected_test_result
DrugShortag changes:
7680623550019;atc;pack_mock shortage_last_update: shortage_state => 2017-02-24
shortage_delivery_date: shortage_delivery_date => offen
7680623550019;atc;pack_mock shortage_last_update: shortage_state => 2017-02-22
shortage_delivery_date: shortage_delivery_date => 2024
shortage_link: shortage_link => https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2934
7680519690140;atc;pack_mock shortage_last_update: shortage_state => 2017-01-13
shortage_delivery_date: shortage_delivery_date => offen
shortage_delivery_date: shortage_delivery_date => 2024
shortage_link: shortage_link => https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2786
DrugShortag deletions:
Expand All @@ -198,18 +198,17 @@ def test_report
end
def test_changes_with_test_file
@plugin.update(@agent)
expected = {"7680623550019;atc;pack_mock"=>["shortage_last_update: shortage_state => 2017-02-24", "shortage_delivery_date: shortage_delivery_date => offen",
"shortage_link: shortage_link => https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2934"],
"7680519690140;atc;pack_mock"=>["shortage_last_update: shortage_state => 2017-01-13", "shortage_delivery_date: shortage_delivery_date => offen",
"shortage_link: shortage_link => https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2786"]}
expected = {
"7680623550019;atc;pack_mock"=>["shortage_last_update: shortage_state => 2017-02-22", "shortage_delivery_date: shortage_delivery_date => 2024", "shortage_link: shortage_link => https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2934"],
"7680519690140;atc;pack_mock"=>["shortage_last_update: shortage_state => 2017-01-13", "shortage_delivery_date: shortage_delivery_date => 2024", "shortage_link: shortage_link => https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2786"]
}
assert_equal(expected , @plugin.changes_shortages)
end
def check_csv_lines(content)
lines = content.split("\n")
assert_equal('GTIN;ATC-Code;Präparatbezeichnung;Datum der Meldung (Swissmedic);Nicht-Inverkehrbringen ab (Swissmedic);Vertriebsunterbruch ab (Swissmedic);Link (Swissmedic);Datum letzte Mutation (Drugshortage);Status (Drugshortage);Datum Lieferfähigkeit (Drugshortage);Link (Drugshortage)',
lines.first.strip)
assert(lines.find{|line| line.strip.eql?("7680519690140;atc;pack_mock;;;;;2017-01-13;aktuell keine Lieferungen;offen;https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2786") })
assert(lines.find{|line| line.strip.eql?("7680519690140;atc;pack_mock;;;;;2017-01-13;aktuell keine Lieferungen;offen;https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2786") })
assert(lines.find{|line| line.strip.eql?("7680519690140;atc;pack_mock;;;;;2017-01-13;aktuell keine Lieferungen;2024;https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2786") })

end
def test_export_csv
Expand Down Expand Up @@ -294,7 +293,7 @@ def test_run_with_changed_content
assert(/Changed\s+2\s+shortages/.match(result))
expected = %(DrugShortag changes:
7680623550019;atc;pack_mock shortage_last_update: shortage_state => 2017-04-22
shortage_delivery_date: shortage_delivery_date => in Abklärung / en cours de clarification
shortage_delivery_date: shortage_delivery_date => 2024
shortage_link: shortage_link => https://www.drugshortage.ch/detail_lieferengpass.aspx?ID=2934
)
assert(result.index(expected))
Expand Down

0 comments on commit 41cb720

Please sign in to comment.