Skip to content

Commit

Permalink
test suite
Browse files Browse the repository at this point in the history
  • Loading branch information
temullen committed Jun 28, 2012
1 parent 2dd4069 commit ce4988f
Show file tree
Hide file tree
Showing 11 changed files with 69 additions and 3 deletions.
2 changes: 2 additions & 0 deletions lib/mbsy/resources/balance.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ def self.update(mode, params={})
call('add', params)
when :deduct
call('deduct', params)
else
raise ArgumentError, "You must include a mode of either :add or :deduct"
end
end

Expand Down
1 change: 1 addition & 0 deletions lib/mbsy/resources/event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ class Event < Base
def self.create(params={})
raise ArgumentError, "You must include :campaign_uid" unless params[:campaign_uid]
raise ArgumentError, "You must include :email" unless params[:email]
raise ArgumentError, "You must include :short_code" unless params[:short_code]
call('record', params)
end

Expand Down
14 changes: 14 additions & 0 deletions spec/factories.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
FactoryGirl.define do

sequence :email do |n|
"ambassador#{n}@mbsy.co"
end

factory :ambassador, class: Mbsy::Ambassador do
first_name Faker::Name.first_name
last_name Faker::Name.last_name
email FactoryGirl.generate(:email)
amount 0
end

end
4 changes: 2 additions & 2 deletions spec/ambassador_spec.rb → spec/resources/ambassador_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
describe Mbsy::Ambassador do

let(:resource_prefix) { "#{fake_domain}/ambassadors" }
let(:existing_ambassador) { Mbsy::Ambassador.find(email: 'ambassador@mbsy.co', first_name: 'sigma') }
let(:existing_ambassador) { Mbsy::Ambassador.find(email: 'ambassador@mbsy.co', first_name: 'test') }

context 'find existing ambassador' do
before do
FakeWeb.register_uri(:get, "#{resource_prefix}/get/", :query => existing_ambassador.attributes)
FakeWeb.register_uri(:get, "#{resource_prefix}/get/", :body => existing_ambassador.attributes)
end

it 'is an instance of Mbsy::Ambassador' do
Expand Down
25 changes: 25 additions & 0 deletions spec/resources/balance_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
require 'spec_helper'

describe Mbsy::Balance do

let(:resource_prefix) { "#{fake_domain}/balance" }
let(:existing_customer) { FactoryGirl.create(:ambassador, email: 'ambassador@mbsy.co', first_name: 'test', amount: '0') }

it 'adds to the existing balance' do
params = { email: existing_customer.email, amount: '10' }
FakeWeb.register_uri(:get, "#{resource_prefix}/add/?output=json", :body => params)
expect {
Mbsy::Balance.update(params)
}.to_change { existing_customer.balance_money }.from(0).to(10)
end

it 'deducts from the existing balance' do
params = { email: existing_customer.email, amount: '10' }
FakeWeb.register_uri(:get, "#{resource_prefix}/subtract/", :body => params)

expect {
Mbsy::Balance.update(:subtract, email: existing_customer.email, amount: '10')
}.to_change { existing_customer.balance_money }.from(0).to(-10)
end

end
File renamed without changes.
5 changes: 5 additions & 0 deletions spec/resources/company_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require 'spec_helper'

describe Mbsy::Company do

end
5 changes: 5 additions & 0 deletions spec/resources/event_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require 'spec_helper'

describe Mbsy::Event do

end
5 changes: 5 additions & 0 deletions spec/resources/shortcode_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require 'spec_helper'

describe Mbsy::Shortcode do

end
5 changes: 5 additions & 0 deletions spec/resources/social_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require 'spec_helper'

describe Mbsy::Social do

end
6 changes: 5 additions & 1 deletion spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,13 @@
end

RSpec.configure do |config|

config.treat_symbols_as_metadata_keys_with_true_values = true
config.run_all_when_everything_filtered = true
config.filter_run :focus
config.run_all_when_everything_filtered = true
config.alias_example_to :fit, focused: true
config.color_enabled = true

end

def fake_domain
Expand Down

0 comments on commit ce4988f

Please sign in to comment.