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
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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

end

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
Comment on lines +19 to 27
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


it 'does not limit to active only' do
Expand Down