parent
813efca493
commit
771c1c3209
@ -1,13 +1,22 @@
|
|||||||
class DashboardController < ApplicationController
|
class DashboardController < ApplicationController
|
||||||
|
before_action :set_school
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@school = School.find_by_slug school_slug
|
authenticate(district.name.downcase, "#{district.name.downcase}!")
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def set_school
|
||||||
|
@school = School.find_by_slug school_slug
|
||||||
|
end
|
||||||
|
|
||||||
def school_slug
|
def school_slug
|
||||||
params[:school_id]
|
params[:school_id]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def district
|
||||||
|
@school.district
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -1,14 +1,27 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
RSpec.feature "School dashboard", type: feature do
|
feature "School dashboard", type: feature do
|
||||||
let(:district) { District.create name: 'Winchester' }
|
let(:district) { District.create name: 'Winchester' }
|
||||||
let(:school) {
|
let(:school) {
|
||||||
School.create name: 'Winchester High School', slug: 'winchester-high-school', district: district
|
School.create name: 'Winchester High School', slug: 'winchester-high-school', district: district
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scenario "User authentication fails" do
|
||||||
|
page.driver.browser.basic_authorize('wrong username', 'wrong password')
|
||||||
|
|
||||||
|
visit "/districts/winchester/schools/#{school.slug}/dashboard?year=2020-21"
|
||||||
|
|
||||||
|
expect(page).not_to have_text(school.name)
|
||||||
|
end
|
||||||
|
|
||||||
scenario "User views a school dashboard" do
|
scenario "User views a school dashboard" do
|
||||||
|
page.driver.browser.basic_authorize(username, password)
|
||||||
|
|
||||||
visit "/districts/winchester/schools/#{school.slug}/dashboard?year=2020-21"
|
visit "/districts/winchester/schools/#{school.slug}/dashboard?year=2020-21"
|
||||||
|
|
||||||
expect(page).to have_text(school.name)
|
expect(page).to have_text(school.name)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
let(:username) { 'winchester' }
|
||||||
|
let(:password) { 'winchester!' }
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in new issue