Browse Source

Spec case logs admin table

pull/108/head
baarkerlounger 4 years ago
parent
commit
c47c8e8e35
  1. 23
      spec/controllers/admin/case_logs_controller_spec.rb
  2. 9
      spec/factories/admin_user.rb
  3. 8
      spec/support/controller_macros.rb

23
spec/controllers/admin/case_logs_controller_spec.rb

@ -0,0 +1,23 @@
require "rails_helper"
require_relative "../../support/devise"
describe Admin::CaseLogsController, type: :controller do
render_views
let(:page) { Capybara::Node::Simple.new(response.body) }
let(:resource_title) { "Case Logs" }
let(:valid_session) { {} }
login_admin_user
describe "Get case logs" do
let!(:case_log) { FactoryBot.create(:case_log, :in_progress) }
before do
get :index, session: valid_session
end
it "returns a table of case logs" do
expect(page).to have_content(resource_title)
expect(page).to have_table("index_table_case_logs")
expect(page).to have_link(case_log.id.to_s)
end
end
end

9
spec/factories/admin_user.rb

@ -0,0 +1,9 @@
FactoryBot.define do
factory :admin_user do
sequence(:id) { |i| i }
email { "admin@example.com" }
password { "pAssword1" }
created_at { Time.zone.now }
updated_at { Time.zone.now }
end
end

8
spec/support/controller_macros.rb

@ -13,4 +13,12 @@ module ControllerMacros
sign_in user
end
end
def login_admin_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:admin_user]
admin_user = FactoryBot.create(:admin_user)
sign_in admin_user
end
end
end

Loading…
Cancel
Save