Sha256: 1e10cf4f28c62f266cf6862eb8befbbadd272195ec7ee4793213bebcd1862e8b

Contents?: true

Size: 1 KB

Versions: 5

Compression:

Stored size: 1 KB

Contents

require 'spec_helper'
require 'activity_engine/activity_builder'

describe ActivityEngine::ActivityBuilder do
  let(:configuration) {
    lambda {|config,context|
      config.subject = context
      config.message = 'Hello World!'
    }
  }
  let(:receiver) { lambda {|attributes|} }
  subject { ActivityEngine::ActivityBuilder.new(receiver, configuration) }
  let(:persisted_object) { double(persisted?: true, to_param: '1234')}
  let(:non_persisted_object) { double(persisted?: false, to_param: nil)}

  describe '#to_activity_data_structure' do
    it do
      expect {
        subject.to_activity_data_structure
      }.to_not raise_error
    end
  end

  describe '#call' do
    it "" do
      receiver.should_receive(:call)
      expect {
        subject.call(persisted_object)
      }.to change{subject.message}.from(nil).to("Hello World!")
    end
  end

  it { should respond_to :current_user= }
  it { should respond_to :subject= }
  it { should respond_to :message= }
  it { should respond_to :activity_type= }
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
activity_engine-0.0.9 spec/lib/activity_engine/activity_builder_spec.rb
activity_engine-0.0.8 spec/lib/activity_engine/activity_builder_spec.rb
activity_engine-0.0.7 spec/lib/activity_engine/activity_builder_spec.rb
activity_engine-0.0.6 spec/lib/activity_engine/activity_builder_spec.rb
activity_engine-0.0.5 spec/lib/activity_engine/activity_builder_spec.rb