Fix specs

This commit is contained in:
Eugene Burmakin 2024-12-11 14:42:26 +01:00
parent 866b10ceca
commit 463e8e6d9b
3 changed files with 12 additions and 25 deletions

View file

@ -9,7 +9,8 @@ class ExportsController < ApplicationController
end end
def create def create
export_name = "export_from_#{params[:start_at].to_date}_to_#{params[:end_at].to_date}.#{params[:file_format]}" export_name =
"export_from_#{params[:start_at].to_date}_to_#{params[:end_at].to_date}.#{params[:file_format]}"
export = current_user.exports.create(name: export_name, status: :created) export = current_user.exports.create(name: export_name, status: :created)
ExportJob.perform_later(export.id, params[:start_at], params[:end_at], file_format: params[:file_format]) ExportJob.perform_later(export.id, params[:start_at], params[:end_at], file_format: params[:file_format])

View file

@ -24,9 +24,7 @@ RSpec.describe '/visits', type: :request do
it 'returns confirmed visits' do it 'returns confirmed visits' do
get visits_url get visits_url
expect(@controller.instance_variable_get(:@visits).map do |v| expect(@controller.instance_variable_get(:@visits)).to match_array(confirmed_visits)
v[:visits]
end.flatten).to match_array(confirmed_visits)
end end
end end
@ -36,17 +34,13 @@ RSpec.describe '/visits', type: :request do
it 'does not return suggested visits' do it 'does not return suggested visits' do
get visits_url get visits_url
expect(@controller.instance_variable_get(:@visits).map do |v| expect(@controller.instance_variable_get(:@visits)).not_to include(suggested_visits)
v[:visits]
end.flatten).not_to include(suggested_visits)
end end
it 'returns suggested visits' do it 'returns suggested visits' do
get visits_url, params: { status: 'suggested' } get visits_url, params: { status: 'suggested' }
expect(@controller.instance_variable_get(:@visits).map do |v| expect(@controller.instance_variable_get(:@visits)).to match_array(suggested_visits)
v[:visits]
end.flatten).to match_array(suggested_visits)
end end
end end
@ -56,17 +50,13 @@ RSpec.describe '/visits', type: :request do
it 'does not return declined visits' do it 'does not return declined visits' do
get visits_url get visits_url
expect(@controller.instance_variable_get(:@visits).map do |v| expect(@controller.instance_variable_get(:@visits)).not_to include(declined_visits)
v[:visits]
end.flatten).not_to include(declined_visits)
end end
it 'returns declined visits' do it 'returns declined visits' do
get visits_url, params: { status: 'declined' } get visits_url, params: { status: 'declined' }
expect(@controller.instance_variable_get(:@visits).map do |v| expect(@controller.instance_variable_get(:@visits)).to match_array(declined_visits)
v[:visits]
end.flatten).to match_array(declined_visits)
end end
end end
@ -76,17 +66,13 @@ RSpec.describe '/visits', type: :request do
it 'does not return suggested visits' do it 'does not return suggested visits' do
get visits_url get visits_url
expect(@controller.instance_variable_get(:@visits).map do |v| expect(@controller.instance_variable_get(:@visits)).not_to include(suggested_visits)
v[:visits]
end.flatten).not_to include(suggested_visits)
end end
it 'returns suggested visits' do it 'returns suggested visits' do
get visits_url, params: { status: 'suggested' } get visits_url, params: { status: 'suggested' }
expect(@controller.instance_variable_get(:@visits).map do |v| expect(@controller.instance_variable_get(:@visits)).to match_array(suggested_visits)
v[:visits]
end.flatten).to match_array(suggested_visits)
end end
end end
end end

View file

@ -10,7 +10,7 @@ RSpec.describe Exports::Create do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:start_at) { DateTime.new(2021, 1, 1).to_s } let(:start_at) { DateTime.new(2021, 1, 1).to_s }
let(:end_at) { DateTime.new(2021, 1, 2).to_s } let(:end_at) { DateTime.new(2021, 1, 2).to_s }
let(:export_name) { "#{start_at.to_date}_#{end_at.to_date}" } let(:export_name) { "#{start_at.to_date}_#{end_at.to_date}.#{file_format}" }
let(:export) { create(:export, user:, name: export_name, status: :created) } let(:export) { create(:export, user:, name: export_name, status: :created) }
let(:export_content) { Points::GeojsonSerializer.new(points).call } let(:export_content) { Points::GeojsonSerializer.new(points).call }
let(:reverse_geocoded_at) { Time.zone.local(2021, 1, 1) } let(:reverse_geocoded_at) { Time.zone.local(2021, 1, 1) }
@ -30,10 +30,10 @@ RSpec.describe Exports::Create do
expect(File.read(file_path).strip).to eq(export_content) expect(File.read(file_path).strip).to eq(export_content)
end end
it 'updates the export url' do it 'sets the export url' do
create_export create_export
expect(export.reload.url).to eq("exports/#{export.name}.json") expect(export.reload.url).to eq("exports/#{export.name}")
end end
it 'updates the export status to completed' do it 'updates the export status to completed' do