scinote-web/spec/services/templates_service_spec.rb

42 lines
1.5 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
require 'fileutils'
describe TemplatesService do
let!(:main_team) { create :team }
let!(:admin_user) { create :user }
describe '#update_project' do
context 'update templates project' do
it 'experiment is added to templates project' do
create(:user_team, user: admin_user, team: main_team)
dj_worker = Delayed::Worker.new
templates_project =
create :project, name: 'Templates', template: true, team: main_team
create(
:user_project, :owner, project: templates_project, user: admin_user
)
ts = TemplatesService.new
ts.update_team(main_team)
Delayed::Job.all.each { |job| dj_worker.run(job) }
tmpl_exp = templates_project.experiments.find_by(name: 'Polymerase chain reaction')
expect(tmpl_exp.uuid).to_not eq(nil)
expect(tmpl_exp.my_modules.pluck(:name))
.to match_array(['Data analysis - ddCq', 'Data quality control', 'Experiment design', 'qPCR',
'Reverse transcription', 'RNA isolation', 'RNA quality & quantity - BIOANALYSER',
'Sampling biological material'])
tmpl_tasks = tmpl_exp.my_modules
tmpl_tasks.each do |tmpl_task|
tmpl_task.protocol.steps.each do |tmpl_step|
tmpl_step.assets.each do |asset|
expect(asset.file.attached?).to eq(true)
end
end
end
end
end
end
end