Skip to content

Commit 037be3d

Browse files
Tweaks after code review conversation
This makes a handful of changes that Jeremy and I discussed while we met to discuss the PR: - Updating the return from Detector::MlCitation.record method to focus on the boolean, rather than the Detector::MlCitation instance. - Adding a test to the Term suite to focus on how a citation will cause the features[:ml_citation] element to be not nil - Wrapping the test of all extracted features values in a block to enable the citation detector lambda, and a cassette to capture its response. - Adding the cassette referenced above
1 parent 3c54f34 commit 037be3d

File tree

3 files changed

+86
-28
lines changed

3 files changed

+86
-28
lines changed

app/models/detector/ml_citation.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def self.record(term)
5353
)
5454
end
5555

56-
result
56+
result.detections
5757
end
5858

5959
# lambda_path reads and returns the value of one environment variable.

test/models/term_test.rb

Lines changed: 48 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,23 @@ class TermTest < ActiveSupport::TestCase
658658
assert_nil features[:pmid]
659659
end
660660

661+
test 'extracted features include mlcitation' do
662+
with_enabled_mlcitation do
663+
VCR.use_cassette('lambda citation') do
664+
term = terms('citation')
665+
features = term.features
666+
667+
assert_nil features[:barcode]
668+
assert_nil features[:doi]
669+
assert_nil features[:isbn]
670+
assert_nil features[:issn]
671+
assert_nil features[:journal]
672+
assert_not_nil features[:ml_citation]
673+
assert_nil features[:pmid]
674+
end
675+
end
676+
end
677+
661678
test 'extracted features include barcode' do
662679
term = terms('barcode')
663680
features = term.features
@@ -672,32 +689,36 @@ class TermTest < ActiveSupport::TestCase
672689
end
673690

674691
test 'extracted features include citation components' do
675-
term = terms('citation_with_all_the_things')
676-
features = term.features
677-
678-
assert_nil features[:barcode]
679-
assert_not_nil features[:doi]
680-
assert_not_nil features[:isbn]
681-
assert_not_nil features[:issn]
682-
assert_nil features[:journal]
683-
assert_nil features[:ml_citation]
684-
assert_not_nil features[:pmid]
685-
686-
assert_predicate features[:counts][:apa_volume_issue], :positive?
687-
assert_predicate features[:counts][:vol], :positive?
688-
assert_predicate features[:counts][:no], :positive?
689-
assert_predicate features[:counts][:pages], :positive?
690-
assert_predicate features[:counts][:pp], :positive?
691-
assert_predicate features[:counts][:year_parens], :positive?
692-
assert_predicate features[:counts][:brackets], :positive?
693-
assert_predicate features[:counts][:lastnames], :positive?
694-
695-
assert_predicate features[:counts][:characters], :positive?
696-
assert_predicate features[:counts][:colons], :positive?
697-
assert_predicate features[:counts][:commas], :positive?
698-
assert_predicate features[:counts][:quotes], :positive?
699-
assert_predicate features[:counts][:periods], :positive?
700-
assert_predicate features[:counts][:semicolons], :positive?
701-
assert_predicate features[:counts][:words], :positive?
692+
with_enabled_mlcitation do
693+
VCR.use_cassette('lambda citation all things') do
694+
term = terms('citation_with_all_the_things')
695+
features = term.features
696+
697+
assert_nil features[:barcode]
698+
assert_not_nil features[:doi]
699+
assert_not_nil features[:isbn]
700+
assert_not_nil features[:issn]
701+
assert_nil features[:journal]
702+
assert_not_nil features[:ml_citation]
703+
assert_not_nil features[:pmid]
704+
705+
assert_predicate features[:counts][:apa_volume_issue], :positive?
706+
assert_predicate features[:counts][:vol], :positive?
707+
assert_predicate features[:counts][:no], :positive?
708+
assert_predicate features[:counts][:pages], :positive?
709+
assert_predicate features[:counts][:pp], :positive?
710+
assert_predicate features[:counts][:year_parens], :positive?
711+
assert_predicate features[:counts][:brackets], :positive?
712+
assert_predicate features[:counts][:lastnames], :positive?
713+
714+
assert_predicate features[:counts][:characters], :positive?
715+
assert_predicate features[:counts][:colons], :positive?
716+
assert_predicate features[:counts][:commas], :positive?
717+
assert_predicate features[:counts][:quotes], :positive?
718+
assert_predicate features[:counts][:periods], :positive?
719+
assert_predicate features[:counts][:semicolons], :positive?
720+
assert_predicate features[:counts][:words], :positive?
721+
end
722+
end
702723
end
703724
end

test/vcr_cassettes/lambda_citation_all_things.yml

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)