Skip to content

Commit

Permalink
Add new document and sidecar factories (#615)
Browse files Browse the repository at this point in the history
and use them in bookmarks feature spec
  • Loading branch information
hackartisan committed Sep 24, 2019
1 parent 6cbc7b3 commit 5391afd
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 19 deletions.
26 changes: 26 additions & 0 deletions spec/factories/sidecars.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
FactoryBot.define do
factory :sidecar, class: Spotlight::SolrDocumentSidecar do
association :document, factory: :solr_document, strategy: :build
association :exhibit
data {}

transient do
manifest_url { "http://example.com/manifest" }
access_id { nil }
custom_fields { {} }
with_indexed_document { false }
end

after(:create) do |sidecar, evaluator|
sidecar.data["content_metadata_iiif_manifest_field_ssi"] = evaluator.manifest_url if evaluator.manifest_url
sidecar.data["access_identifier_ssim"] = [evaluator.access_id] if evaluator.access_id
evaluator.custom_fields.each do |k, v|
sidecar.data["exhibit_#{sidecar.exhibit.slug}_#{k}_tesim"] = [v]
end
if evaluator.with_indexed_document
sidecar.document.make_public! sidecar.exhibit
sidecar.document.reindex
end
end
end
end
6 changes: 6 additions & 0 deletions spec/factories/solr_documents.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FactoryBot.define do
factory :solr_document, class: SolrDocument, aliases: [:document] do
sequence(:id) { |n| n.to_s }
initialize_with { new(id: id) }
end
end
27 changes: 8 additions & 19 deletions spec/features/bookmarks_spec.rb
Original file line number Diff line number Diff line change
@@ -1,30 +1,19 @@
require 'rails_helper'

RSpec.describe 'Bookmarks', type: :feature, js: true do
let(:exhibit) { FactoryBot.create(:exhibit, title: 'Exhibit Title', slug: 'exhibit-title') }
let(:admin) { FactoryBot.create(:exhibit_admin, exhibit: exhibit) }
let(:id) { "67890" }
let(:id2) { "12345" }
let(:access_id) { '1r66j4408' }
let(:access_id2) { '2r66j4408' }
let(:document) { SolrDocument.new(id: id) }
let(:document2) { SolrDocument.new(id: id2) }
let(:document) { FactoryBot.build(:document, id: id) }

before do
sign_in admin
Spotlight::SolrDocumentSidecar.create!(
document: document2, exhibit: exhibit,
data: { "access_identifier_ssim" => [access_id2] }
FactoryBot.create(
:sidecar,
document: document,
with_indexed_document: true
)
Spotlight::SolrDocumentSidecar.create!(
document: document, exhibit: exhibit,
data: { "access_identifier_ssim" => [access_id] }
FactoryBot.create(
:sidecar,
with_indexed_document: true
)

document.make_public! exhibit
document2.make_public! exhibit
document.reindex
document2.reindex
Blacklight.default_index.connection.commit
end

Expand Down

0 comments on commit 5391afd

Please sign in to comment.