Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test AdminAdminSetMemberSearchBuilder for collection search #5229

Merged
merged 1 commit into from
Oct 29, 2021

Conversation

no-reply
Copy link
Contributor

update specs to ensure the correct models are included in the search:

  • always include Collection,
  • include configured collection model name,
  • include registered curationconcerns

should the implementation be updated to search using the indexed generic type?

@samvera/hyrax-code-reviewers

update specs to ensure the correct models are included in the search:

  - always include `Collection`,
  - include configured collection model name,
  - include registered curationconcerns

should the implementation be updated to search using the indexed generic type?
Copy link
Contributor

@elrayle elrayle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See question in comment.

@@ -13,7 +13,17 @@

it 'searches for valid work types' do
expect(builder.filter_models(solr_params))
.to contain_exactly("{!terms f=has_model_ssim}Monograph,#{Hyrax.config.collection_class}")
.to contain_exactly(include("{!terms f=has_model_ssim}Monograph"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems right to me that admin sets would only filter on work classes. But it seems that the search builder was adding in collection classes. I'm not seeing a change to the builder class, so I'm wondering how it is that this test passes. See question in PR #5207.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this still tests that the collection classes are included, it just breaks those expectations out into separate specs: https://github.com/samvera/hyrax/pull/5229/files#diff-ab3a1a3b8fc88305f01fc237b7a07fc00abf0736666fa40d77baf46de41c7c65R19-R27

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see what you are doing here. This won't fail if more collections are added to the list. Are you ok with that? Testing for them all in one test will let us know if another one gets added. This would most likely be ok, but we might want to know so we can evaluate the impact. Not a blocker for me if this is the way you want to go.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't fail if more collections are added to the list. Are you ok with that?

i think so. this approach would have made this test less fragile to the changes that caused the issue here to begin with. i see that as an improvement

Comment on lines +19 to 27
it 'searches for collections indexed as ActiveFedora' do
expect(builder.filter_models(solr_params))
.to contain_exactly(include("Collection"))
end

it 'searches for collections indexed as valkyrie' do
expect(builder.filter_models(solr_params))
.to contain_exactly(include(Hyrax.config.collection_class.to_s))
end
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An alternative that searches for all known collections...

Suggested change
it 'searches for collections indexed as ActiveFedora' do
expect(builder.filter_models(solr_params))
.to contain_exactly(include("Collection"))
end
it 'searches for collections indexed as valkyrie' do
expect(builder.filter_models(solr_params))
.to contain_exactly(include(Hyrax.config.collection_class.to_s))
end
it 'searches for collections' do
Hyrax.collection_classes do |klass|
expect(builder.filter_models(solr_params))
.to contain_exactly(include(klass.to_s))
end
end

@elrayle elrayle merged commit 8ee8055 into main Oct 29, 2021
@elrayle elrayle deleted the col-admin-set-search branch October 29, 2021 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants