Guest User

Untitled

a guest
Apr 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. require File.dirname(__FILE__) + '/../spec_helper'
  2.  
  3. describe ExchangeVerifier, "availability by level" do
  4. set_fixture_class(:exchange_originals => Exchange::Original, :exchange_items => Exchange::TradeItem)
  5. fixtures :exchange_originals, :exchanges, :exchange_trade_items, :original_cards, :users
  6.  
  7. before :each do
  8. @exchange = exchanges(:public)
  9. @high_enough_level_user = users(:mourat)
  10. @low_level_user = users(:elliot)
  11. end
  12. it "is true for user with high enough level" do
  13. ExchangeVerifier.new(@high_enough_level_user, @exchange).has_high_enough_level?.should be_true
  14. end
  15.  
  16. it "is false for user who's level is lower" do
  17. ExchangeVerifier.new(@low_level_user, @exchange).has_high_enough_level?.should be_false
  18. end
  19. end
  20.  
  21. describe ExchangeVerifier, "with operations limit hit" do
  22. set_fixture_class(:exchange_originals => Exchange::Original, :exchange_items => Exchange::TradeItem)
  23. fixtures :exchange_originals, :exchanges, :exchange_trade_items, :original_cards, :users
  24. predicate_matchers[:hit_the_limit] = :limit_hit?
  25. before :each do
  26. @exchange = exchanges(:nonpublic)
  27. @exchange.count = 0
  28. @user = users(:mourat)
  29. end
  30.  
  31. it "is not available to anyone" do
  32. ExchangeVerifier.new(@user, @exchange).should hit_the_limit
  33. end
  34. end
  35.  
  36. describe ExchangeVerifier, "exchange eligibility predicate" do
  37. set_fixture_class(:exchange_originals => Exchange::Original, :exchange_items => Exchange::TradeItem)
  38. fixtures :exchange_originals, :exchanges, :exchange_trade_items, :original_cards, :users
  39. before :each do
  40. @exchange = exchanges(:three_virkans_for_travis)
  41. @low_level_user = users(:elliot)
  42. @high_enough_level_user = users(:faraon)
  43. @high_enough_level_user_with_satisfying_cards = users(:mourat)
  44. end
  45.  
  46. it "is false for low-level user" do
  47. ExchangeVerifier.new(@low_level_user, @exchange).should_not be_eligable_for_exchange
  48. end
  49.  
  50. it "is false if exchange limit hit" do
  51. @exchange.count = 0
  52. ExchangeVerifier.new(@high_enough_level_user_with_satisfying_cards, @exchange).should_not be_eligable_for_exchange
  53. end
  54.  
  55. it "is false for user with not enough of satisfying cards" do
  56. ExchangeVerifier.new(@high_enough_level_user, @exchange).should_not be_eligable_for_exchange
  57. end
  58.  
  59. it "is true for enough high-level user with enough of satisfying cards when NOT limit hit" do
  60. ExchangeVerifier.new(@high_enough_level_user_with_satisfying_cards, @exchange).should be_eligable_for_exchange
  61. end
  62.  
  63. end
Add Comment
Please, Sign In to add comment