Sha256: f72f0bcf6e7d952644c53246aad68a01101136b06e0ad42a91b3c112c023b85f

Contents?: true

Size: 1.32 KB

Versions: 7

Compression:

Stored size: 1.32 KB

Contents

require 'spec_helper'

describe Helena::SessionsController do
  routes { Helena::Engine.routes }

  let(:survey) { create :survey }
  let(:version) { survey.versions.create version: 0, question_groups: [build(:question_group)] }
  let(:session) do
    create :session, survey: survey, version: version, answers: [
      build(:string_answer, code: 'string_answer_1', value: 'abc'),
      build(:integer_answer, code: 'integer_answer_1', value: '123')
    ]
  end

  context 'version not active' do
    before { version.update_attribute :active, false }

    it 'raises not found when editing' do
      get :edit, token: session.token
      is_expected.to respond_with :not_found
    end

    it 'raises not found when updating' do
      patch :update, token: session.token
      is_expected.to respond_with :not_found
    end
  end

  it 'return json result of the current session' do
    get :show, token: session.view_token, format: :json

    result = ActiveSupport::JSON.decode(response.body)
    expect(result['answer']['string_answer_1']).to eq 'abc'
    expect(result['answer']['integer_answer_1']).to eq 123
  end

  it 'renders session_report as slim template' do
    session.version.update_attribute :session_report, 'h1 make it slim!'
    get :show, token: session.view_token

    expect(response.body).to eq '<h1>make it slim!</h1>'
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
helena-1.1.0 spec/controllers/helena/sessions_controller_spec.rb
helena-1.0.3 spec/controllers/helena/sessions_controller_spec.rb
helena-1.0.2 spec/controllers/helena/sessions_controller_spec.rb
helena-1.0.1 spec/controllers/helena/sessions_controller_spec.rb
helena-1.0.0.rc4 spec/controllers/helena/sessions_controller_spec.rb
helena-1.0.0.rc3 spec/controllers/helena/sessions_controller_spec.rb
helena-1.0.0.rc2 spec/controllers/helena/sessions_controller_spec.rb