Sha256: c7f7552011d00b61686398e61e0e6fed7d5b53cb4842623c4f0753d6209634da

Contents?: true

Size: 1.72 KB

Versions: 7

Compression:

Stored size: 1.72 KB

Contents

require 'spec_helper'

describe Alephant::Preview::Server do
  include Rack::Test::Methods
  let (:app) { subject }

  describe 'preview endpoint (GET /preview/{id}/{template}/{region}/{fixture})' do

    describe 'content' do

      context 'with valid data' do
        before(:each) do
          get "/preview/#{id}/#{template}/#{region}/#{fixture}"
        end
        let (:id) { 'foo' }
        let (:template) { id }
        let (:fixture) { id }
        let (:region) { 'page_region' }

        specify { expect(last_response.body).to eq("topcontent\nbottom\n") }
      end
    end
  end

  describe 'component endpoint (GET /component/{id}/{template}/{fixture})' do

    describe 'content' do
      before(:each) do
        get "/component/#{id}/#{template}/#{fixture}"
      end
      let (:response) { last_response.body.chomp }

      context 'without a data mapper' do
        let (:id) { 'foo' }
        let (:template) { id }
        let (:fixture) { id }

        specify { expect(response).to eq("content") }
      end

      context 'with a data mapper' do

        context 'using a single fixture' do
          let (:id) { 'bar' }
          let (:template) { id }
          let (:fixture) { id }

          specify { expect(response).to eq("data mapped content") }
        end

        context 'using multiple fixtures' do
          let (:id) { 'baz' }
          let (:template) { id }
          let (:fixture) { id }

          specify { expect(response).to eq("multiple endpoint data mapped content") }
        end
      end
    end
  end

  describe "status endpoint (GET /status)" do
    before(:each) do
      get "/status"
    end

    context "status code" do
      specify { expect(last_response.status).to eq 200 }
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
alephant-preview-0.3.6 spec/integration/preview_spec.rb
alephant-preview-0.3.5 spec/integration/preview_spec.rb
alephant-preview-0.3.4 spec/integration/preview_spec.rb
alephant-preview-0.3.3 spec/integration/preview_spec.rb
alephant-preview-0.3.2 spec/integration/preview_spec.rb
alephant-preview-0.3.1 spec/integration/preview_spec.rb
alephant-preview-0.3.0 spec/integration/preview_spec.rb