Module: ClassAction::RSpec::ClassActionExampleGroup

Defined in:
lib/class_action/rspec/class_action_example_group.rb

Overview

Adds support for speccing Class Actions. Sets up the example as

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(target) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/class_action/rspec/class_action_example_group.rb', line 6

def self.included(target)
  target.send :include, ::RSpec::Rails::ControllerExampleGroup
  target.extend ClassMethods
  target.send :include, InstanceMethods

  target.class_eval do
    # I don't know why ControllerExampleGroup overrides this.
    [:type] = :class_action

    subject { action }
    before do
      # This is required for response testing, as we won't use
      # ActionController::TestCase#process
      @controller.instance_variable_set '@_response', @response
    end
  end
end

Instance Method Details

#assignsObject



45
46
47
48
# File 'lib/class_action/rspec/class_action_example_group.rb', line 45

def assigns
  @action.send :copy_assigns_to_controller
  super
end