Sha256: 403ffe15c9a785b13ae58b8c61f30087ff4bd4eaa7612a21dc5da747b0cc0f90
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
# frozen_string_literal: true require "rails_helper" module Archangel module Frontend RSpec.describe PagesController, type: :controller do let(:page) { create(:page) } describe "loads correct layout" do it "loads correct view" do get :show, params: { path: page.path } expect(response).to render_with_layout("frontend") end end describe "GET #show" do it "assigns the requested page as @page" do get :show, params: { path: page.path } expect(response.content_type).to eq "text/html" expect(assigns(:page)).to eq(page) end it "assigns the requested page as @page for JSON request" do get :show, params: { path: page.path }, format: :json expect(response.content_type).to eq "application/json" expect(assigns(:page)).to eq(page) end it "redirects to homepage" do page = create(:page, :homepage) get :show, params: { path: page.path } expect(response).to redirect_to(root_path) expect(response.status).to eq(301) end it "returns a 404 status code when page is not found" do get :show, params: { path: "not-a-real-page" } expect(response).to render_template("archangel/errors/error_404") expect(response).to have_http_status(:not_found) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
archangel-0.3.0 | spec/controllers/archangel/frontend/pages_controller_spec.rb |