Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require File.dirname(__FILE__) + '/../spec_helper'
- describe ExchangeVerifier, "availability by level" do
- set_fixture_class(:exchange_originals => Exchange::Original, :exchange_items => Exchange::TradeItem)
- fixtures :exchange_originals, :exchanges, :exchange_trade_items, :original_cards, :users
- before :each do
- @exchange = exchanges(:public)
- @high_enough_level_user = users(:mourat)
- @low_level_user = users(:elliot)
- end
- it "is true for user with high enough level" do
- ExchangeVerifier.new(@high_enough_level_user, @exchange).has_high_enough_level?.should be_true
- end
- it "is false for user who's level is lower" do
- ExchangeVerifier.new(@low_level_user, @exchange).has_high_enough_level?.should be_false
- end
- end
- describe ExchangeVerifier, "with operations limit hit" do
- set_fixture_class(:exchange_originals => Exchange::Original, :exchange_items => Exchange::TradeItem)
- fixtures :exchange_originals, :exchanges, :exchange_trade_items, :original_cards, :users
- predicate_matchers[:hit_the_limit] = :limit_hit?
- before :each do
- @exchange = exchanges(:nonpublic)
- @exchange.count = 0
- @user = users(:mourat)
- end
- it "is not available to anyone" do
- ExchangeVerifier.new(@user, @exchange).should hit_the_limit
- end
- end
- describe ExchangeVerifier, "exchange eligibility predicate" do
- set_fixture_class(:exchange_originals => Exchange::Original, :exchange_items => Exchange::TradeItem)
- fixtures :exchange_originals, :exchanges, :exchange_trade_items, :original_cards, :users
- before :each do
- @exchange = exchanges(:three_virkans_for_travis)
- @low_level_user = users(:elliot)
- @high_enough_level_user = users(:faraon)
- @high_enough_level_user_with_satisfying_cards = users(:mourat)
- end
- it "is false for low-level user" do
- ExchangeVerifier.new(@low_level_user, @exchange).should_not be_eligable_for_exchange
- end
- it "is false if exchange limit hit" do
- @exchange.count = 0
- ExchangeVerifier.new(@high_enough_level_user_with_satisfying_cards, @exchange).should_not be_eligable_for_exchange
- end
- it "is false for user with not enough of satisfying cards" do
- ExchangeVerifier.new(@high_enough_level_user, @exchange).should_not be_eligable_for_exchange
- end
- it "is true for enough high-level user with enough of satisfying cards when NOT limit hit" do
- ExchangeVerifier.new(@high_enough_level_user_with_satisfying_cards, @exchange).should be_eligable_for_exchange
- end
- end
Add Comment
Please, Sign In to add comment