Sha256: 3c47872d2db504083eda08c2322c71ba9cd5aabd24b5693523c4a50c93a48ba0
Contents?: true
Size: 1.35 KB
Versions: 4
Compression:
Stored size: 1.35 KB
Contents
require 'spec_helper' describe Mixpal::Revenue do let(:properties) do { sku: 'SKU-1010' } end let(:amount) { 50 } let(:subject) { described_class.new(amount, properties) } describe '#render' do it 'delegates to Util for js_object composition' do expect(Mixpal::Util).to receive(:hash_to_js_object_string).with(properties) subject.render end it 'outputs a call to people.track_charge' do js_object = Mixpal::Util.hash_to_js_object_string(properties) expect(subject.render) .to eq "mixpanel.people.track_charge(#{amount}, #{js_object});" end it 'outputs an html safe string' do expect(subject.render).to be_html_safe end end describe '#to_store' do it 'returns a hash with its data' do expect(subject.to_store).to eq( 'amount' => amount, 'properties' => properties ) end end describe '#from_store' do let(:result) do described_class.from_store( 'amount' => amount, 'properties' => properties ) end it 'instantiates a new instance' do expect(result).to be_an_instance_of(described_class) end it 'sets its amount from the data' do expect(result.amount).to eq amount end it 'sets its properties from the data' do expect(result.properties).to eq properties end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mixpal-0.5.0 | spec/lib/mixpal/revenue_spec.rb |
mixpal-0.4.2 | spec/lib/mixpal/revenue_spec.rb |
mixpal-0.4.1 | spec/lib/mixpal/revenue_spec.rb |
mixpal-0.4.0 | spec/lib/mixpal/revenue_spec.rb |