Skip to content

Commit

Permalink
Adds controller tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomas Scherz committed May 24, 2024
1 parent 031e9ee commit 2057c0b
Show file tree
Hide file tree
Showing 4 changed files with 114 additions and 6 deletions.
10 changes: 5 additions & 5 deletions app/controllers/software_records_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -170,20 +170,20 @@ def list_upgrades
@software_types = SoftwareType.all
@softwarerecords_count = SoftwareRecord.count
end

def list_road_map
$page_title = 'Road Map | UCL Application Portfolio'
@params = request.query_parameters

@software_records = if @params['filter_by'].to_s == 'software_types' && !@params['software_type_filter'].nil? && !@params['software_type_filter'].empty?
SoftwareRecord.where(software_type_id: @params['software_type_filter']).order("#{sort_priority} #{sort_direction_priority}")
elsif @params['filter_by'].to_s == 'vendor_records' && !@params['vendor_record_filter'].nil? &&
!@params['vendor_record_filter'].empty?
elsif @params['filter_by'].to_s == 'vendor_records' && !@params['vendor_record_filter'].nil? &&
!@params['vendor_record_filter'].empty?
SoftwareRecord.where(vendor_record_id: @params['vendor_record_filter']).order("#{sort_priority} #{sort_direction_priority}")
else
SoftwareRecord.order("#{sort_priority} #{sort_direction_priority}")
end
@vendor_records = VendorRecord.all
@vendor_records = VendorRecord.all
@software_types = SoftwareType.all
@softwarerecords_count = SoftwareRecord.count
end
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

class AddRoadmapReferenceToSoftwareRecords < ActiveRecord::Migration[6.1]
def change
add_column :software_records, :road_map, :text
Expand Down
106 changes: 106 additions & 0 deletions spec/controllers/software_records_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
who: 'Test Admin',
semester: 'Fall Quarter 2023',
upgrade_docs: 'www.example.com',
road_map: 'Road Map',
qa_support_servers: 'server.example.com',
dev_support_servers: 'dev.example.com',
date_cert_expires: '2020-01-01',
Expand Down Expand Up @@ -112,6 +113,39 @@ def sign_in_user(admin)
sign_in admin
end

describe 'GET #list_road_map' do
it 'assigns the requested software records to @software_records' do
get :list_road_map
expect(response).to be_successful
end

it 'renders the list_road_map template' do
get :list_road_map
expect(response).to render_template(:list_road_map)
end
end

describe 'GET #edit_road_map' do
it 'assigns the requested software record to @software_record' do
software_record = SoftwareRecord.create! valid_attributes
get :edit_road_map, params: { id: software_record.to_param }
expect(response).to be_successful
expect(response).to render_template(:edit_road_map)
end
end

describe 'PATCH/PUT #update_road_map' do
context 'with valid attributes' do
it 'updates the software record' do
software_record = SoftwareRecord.create! valid_attributes
patch :update_road_map, params: { id: software_record.id, software_record: { road_map: 'New Road Map' } }
software_record.reload
expect(software_record.road_map).to eq('New Road Map')
expect(response).to redirect_to(list_road_map_path)
end
end
end

describe 'GET #index' do
it 'returns a success response' do
SoftwareRecord.create! valid_attributes
Expand Down Expand Up @@ -151,6 +185,7 @@ def sign_in_user(admin)
expect(response.body).to have_content('true')
expect(response.body).to have_content('10')
expect(response.body).to have_content('Review')
expect(response.body).to have_content('Road Map')
expect(response.body).to have_content('Fall Quarter 2023')
expect(response.body).to have_content('server.example.com')
expect(response.body).to have_content('dev.example.com')
Expand Down Expand Up @@ -230,6 +265,7 @@ def sign_in_user(admin)
upgrade_status: 'Review',
who: 'Test Admin',
semester: 'Fall Quarter 2023',
road_map: 'Road Map',
upgrade_docs: 'www.example.com',
qa_support_servers: 'server.example.com',
dev_support_servers: 'dev.example.com',
Expand Down Expand Up @@ -262,6 +298,7 @@ def sign_in_user(admin)
expect(software_record.priority).to have_content('10')
expect(software_record.upgrade_status).to have_content('Review')
expect(software_record.semester).to have_content('Fall Quarter 2023')
expect(software_record.road_map).to have_content('Road Map')
expect(software_record.upgrade_docs).to have_content('www.example.com')
expect(software_record.qa_support_servers).to have_content('server.example.com')
expect(software_record.dev_support_servers).to have_content('dev.example.com')
Expand Down Expand Up @@ -365,6 +402,7 @@ def sign_in_user(admin)
upgrade_status: 'Review',
who: 'Test Admin',
semester: 'Fall Quarter 2023',
road_map: 'Road Map',
upgrade_docs: 'www.example.com',
qa_support_servers: 'server.example.com',
dev_support_servers: 'dev.example.com',
Expand Down Expand Up @@ -432,6 +470,7 @@ def sign_in_user(viewer)
expect(response.body).to have_content('10')
expect(response.body).to have_content('Review')
expect(response.body).to have_content('Fall Quarter 2023')
expect(software_record.road_map).to have_content('Road Map')
expect(response.body).to have_content('server.example.com')
expect(response.body).to have_content('dev.example.com')
expect(response.body).to have_content('2020-01-01')
Expand Down Expand Up @@ -510,6 +549,7 @@ def sign_in_user(viewer)
upgrade_status: 'Review',
who: 'Test Admin',
semester: 'Fall Quarter 2023',
road_map: 'Road Map',
upgrade_docs: 'www.example.com',
qa_support_servers: 'server.example.com',
dev_support_servers: 'dev.example.com',
Expand Down Expand Up @@ -542,6 +582,7 @@ def sign_in_user(viewer)
expect(software_record.priority).to have_content('10')
expect(software_record.upgrade_status).to have_content('Review')
expect(software_record.semester).to have_content('Fall Quarter 2023')
expect(software_record.road_map).to have_content('Road Map')
expect(software_record.upgrade_docs).to have_content('www.example.com')
expect(software_record.qa_support_servers).to have_content('server.example.com')
expect(software_record.dev_support_servers).to have_content('dev.example.com')
Expand Down Expand Up @@ -644,6 +685,7 @@ def sign_in_user(viewer)
upgrade_status: 'Review',
who: 'Test Admin',
semester: 'Fall Quarter 2023',
road_map: 'Road Map',
upgrade_docs: 'www.example.com',
qa_support_servers: 'server.example.com',
dev_support_servers: 'dev.example.com',
Expand Down Expand Up @@ -673,6 +715,35 @@ def sign_in_user(manager)
sign_in manager
end

describe 'GET #list_road_map' do
it 'assigns the requested software records to @software_records' do
get :list_road_map
expect(response).to be_successful
expect(response).to render_template(:list_road_map)
end
end

describe 'GET #edit_road_map' do
it 'assigns the requested software record to @software_record' do
software_record = SoftwareRecord.create! valid_attributes
get :edit_road_map, params: { id: software_record.to_param }
expect(response).to be_successful
expect(response).to render_template(:edit_road_map)
end
end

describe 'PATCH/PUT #update_road_map' do
context 'with valid attributes' do
it 'updates the software record' do
software_record = SoftwareRecord.create! valid_attributes
patch :update_road_map, params: { id: software_record.to_param, software_record: { road_map: 'New Road Map' } }
software_record.reload
expect(software_record.road_map).to eq('New Road Map')
expect(response).to redirect_to(list_road_map_path)
end
end
end

describe 'GET #index' do
it 'returns a success response' do
SoftwareRecord.create! valid_attributes
Expand Down Expand Up @@ -711,6 +782,7 @@ def sign_in_user(manager)
expect(response.body).to have_content('10')
expect(response.body).to have_content('Review')
expect(response.body).to have_content('Fall Quarter 2023')
expect(response.body).to have_content('Road Map')
expect(response.body).to have_content('server.example.com')
expect(response.body).to have_content('dev.example.com')
expect(response.body).to have_content('2020-01-01')
Expand Down Expand Up @@ -789,6 +861,7 @@ def sign_in_user(manager)
upgrade_status: 'Review',
who: 'Test Admin',
semester: 'Fall Quarter 2023',
road_map: 'Road Map',
upgrade_docs: 'www.example.com',
qa_support_servers: 'server.example.com',
dev_support_servers: 'dev.example.com',
Expand Down Expand Up @@ -823,6 +896,7 @@ def sign_in_user(manager)
expect(software_record.priority).to have_content('10')
expect(software_record.upgrade_status).to have_content('Review')
expect(software_record.semester).to have_content('Fall Quarter 2023')
expect(software_record.road_map).to have_content('Road Map')
expect(software_record.upgrade_docs).to have_content('www.example.com')
expect(software_record.qa_support_servers).to have_content('server.example.com')
expect(software_record.dev_support_servers).to have_content('dev.example.com')
Expand Down Expand Up @@ -924,6 +998,7 @@ def sign_in_user(manager)
end_of_life: true,
priority: '10',
upgrade_status: 'Review',
road_map: 'Road Map',
who: 'Test Admin',
semester: 'Fall Quarter 2023',
upgrade_docs: 'www.example.com',
Expand Down Expand Up @@ -955,6 +1030,34 @@ def sign_in_user(owner)
sign_in owner
end

describe 'GET #list_road_map' do
it 'assigns the requested software records to @software_records' do
get :list_road_map
expect(response).to be_successful
expect(response).to render_template(:list_road_map)
end
end

describe 'GET #edit_road_map' do
it 'assigns the requested software record to @software_record' do
software_record = SoftwareRecord.create! valid_attributes
get :edit_road_map, params: { id: software_record.to_param }
expect(response).to be_successful
expect(response).to render_template(:edit_road_map)
end
end

# describe "PATCH/PUT #update_road_map" do
# context "with valid attributes" do
# it "updates the software record" do
# software_record = SoftwareRecord.create! valid_attributes
# patch :update_road_map, params: { id: software_record.to_param, software_record: { road_map: "New Road Map" } }
# software_record.reload
# expect(software_record.road_map).to eq("New Road Map")
# expect(response).to redirect_to(list_road_map_path)
# end
# end

describe 'GET #index' do
it 'returns a success response' do
SoftwareRecord.create! valid_attributes
Expand Down Expand Up @@ -993,6 +1096,7 @@ def sign_in_user(owner)
expect(response.body).to have_content('10')
expect(response.body).to have_content('Review')
expect(response.body).to have_content('Fall Quarter 2023')
expect(response.body).to have_content('Fall Quarter 2023')
expect(response.body).to have_content('server.example.com')
expect(response.body).to have_content('dev.example.com')
expect(response.body).to have_content('2020-01-01')
Expand Down Expand Up @@ -1071,6 +1175,7 @@ def sign_in_user(owner)
upgrade_status: 'Review',
who: 'Test Admin',
semester: 'Fall Quarter 2023',
road_map: 'Road Map',
upgrade_docs: 'www.example.com',
qa_support_servers: 'server.example.com',
dev_support_servers: 'dev.example.com',
Expand Down Expand Up @@ -1105,6 +1210,7 @@ def sign_in_user(owner)
expect(software_record.priority).to have_content('10')
expect(software_record.upgrade_status).to have_content('Review')
expect(software_record.semester).to have_content('Fall Quarter 2023')
expect(software_record.road_map).to have_content('Road Map')
expect(software_record.upgrade_docs).to have_content('www.example.com')
expect(software_record.qa_support_servers).to have_content('server.example.com')
expect(software_record.dev_support_servers).to have_content('dev.example.com')
Expand Down
2 changes: 1 addition & 1 deletion spec/views/software_records/show.html.erb_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
dev_support_servers: 'dev.example.com',
date_cert_expires: '2020-01-01',
monitor_certificates: 'Yes',
road_map: "Road Map",
road_map: 'Road Map',
notes: "Line one\nLine two",
themes: true,
modules: true
Expand Down

0 comments on commit 2057c0b

Please sign in to comment.