mtg_sdk 3.2.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +24 -24
- data/.travis.yml +9 -9
- data/Gemfile +4 -4
- data/LICENSE.txt +22 -22
- data/README.md +176 -176
- data/Rakefile +10 -10
- data/lib/mtg_sdk.rb +32 -32
- data/lib/mtg_sdk/card.rb +44 -44
- data/lib/mtg_sdk/changelog.rb +24 -24
- data/lib/mtg_sdk/configuration.rb +8 -8
- data/lib/mtg_sdk/foreign_name.rb +10 -10
- data/lib/mtg_sdk/legality.rb +10 -10
- data/lib/mtg_sdk/query_builder.rb +75 -66
- data/lib/mtg_sdk/representers/card_representer.rb +57 -57
- data/lib/mtg_sdk/representers/changelog_representer.rb +12 -12
- data/lib/mtg_sdk/representers/foreign_name_representer.rb +11 -11
- data/lib/mtg_sdk/representers/legality_representer.rb +9 -9
- data/lib/mtg_sdk/representers/ruling_representer.rb +11 -11
- data/lib/mtg_sdk/representers/set_representer.rb +21 -21
- data/lib/mtg_sdk/rest_client.rb +31 -31
- data/lib/mtg_sdk/ruling.rb +10 -10
- data/lib/mtg_sdk/set.rb +61 -61
- data/lib/mtg_sdk/subtype.rb +11 -11
- data/lib/mtg_sdk/supertype.rb +11 -11
- data/lib/mtg_sdk/type.rb +11 -11
- data/lib/mtg_sdk/version.rb +3 -3
- data/mtg_sdk.gemspec +36 -36
- data/test/card_test.rb +82 -82
- data/test/changelog_test.rb +11 -11
- data/test/configuration_test.rb +19 -19
- data/test/set_test.rb +64 -52
- data/test/subtype_test.rb +11 -11
- data/test/supertype_test.rb +11 -11
- data/test/test_helper.rb +21 -21
- data/test/type_test.rb +11 -11
- metadata +5 -4
data/test/card_test.rb
CHANGED
@@ -1,82 +1,82 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
require_relative 'test_helper'
|
3
|
-
|
4
|
-
class CardTest < Minitest::Test
|
5
|
-
def test_find_returns_one_card
|
6
|
-
VCR.use_cassette('one_card') do
|
7
|
-
card = MTG::Card.find(88803)
|
8
|
-
|
9
|
-
assert_equal 'Choice of Damnations', card.name
|
10
|
-
assert_equal '{5}{B}', card.mana_cost
|
11
|
-
assert_equal 6, card.cmc
|
12
|
-
assert_equal 'Sorcery — Arcane', card.type
|
13
|
-
assert card.colors.any?{|color| color == 'Black'}
|
14
|
-
assert card.color_identity.any?{|color_id| color_id == 'B'}
|
15
|
-
assert card.types.any?{|type| type == 'Sorcery'}
|
16
|
-
assert card.subtypes.any?{|subtype| subtype == 'Arcane'}
|
17
|
-
assert_equal 'Rare', card.rarity
|
18
|
-
assert_equal 'SOK', card.set
|
19
|
-
assert_equal 'Saviors of Kamigawa', card.set_name
|
20
|
-
assert_equal "Target opponent chooses a number. You may have that player lose that much life. If you don't, that player sacrifices all but that many permanents.", card.text
|
21
|
-
assert_equal "\"Life is a series of choices between bad and worse.\"\n—Toshiro Umezawa", card.flavor
|
22
|
-
assert_equal 'Tim Hildebrandt', card.artist
|
23
|
-
assert_equal '62', card.number
|
24
|
-
assert_equal 'normal', card.layout
|
25
|
-
assert_equal 88803, card.multiverse_id
|
26
|
-
assert_equal 'http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=88803&type=card', card.image_url
|
27
|
-
assert card.rulings.any?{|ruling| ruling.date == Date.parse('2005-06-01')}
|
28
|
-
assert card.foreign_names.any?{|foreign_name| foreign_name.name == '破灭抉择' && foreign_name.image_url == 'http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=104898&type=card'}
|
29
|
-
assert card.printings.any?{|printing| printing == 'SOK'}
|
30
|
-
assert_equal "Target opponent chooses a number. You may have that player lose that much life. If you don't, that player sacrifices all but that many permanents.", card.original_text
|
31
|
-
assert_equal 'Sorcery — Arcane', card.original_type
|
32
|
-
assert card.legalities.any?{|legality| legality.format == 'Commander' && legality.legality == 'Legal'}
|
33
|
-
assert_equal '1c4aab072d52d283e902f2302afa255b39e0794b', card.id
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_find_with_invalid_id_throws_exception
|
38
|
-
VCR.use_cassette('invalid_id') do
|
39
|
-
assert_raises ArgumentError do
|
40
|
-
MTG::Card.find(3239482932)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_where_with_page_size_and_page_returns_cards
|
46
|
-
VCR.use_cassette('query_cards_pageSize') do
|
47
|
-
cards = MTG::Card.where(pageSize: 10).where(page: 1).all
|
48
|
-
|
49
|
-
# make sure we got only 10 cards back
|
50
|
-
assert cards.length == 10
|
51
|
-
assert cards.kind_of?(Array)
|
52
|
-
assert cards.first.kind_of?(MTG::Card)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_all_returns_cards
|
57
|
-
VCR.use_cassette('all_filtered') do
|
58
|
-
cards = MTG::Card.where(supertypes: 'legendary')
|
59
|
-
.where(subtypes: 'elf,warrior')
|
60
|
-
.all
|
61
|
-
|
62
|
-
first_card = cards[0]
|
63
|
-
assert first_card.supertypes.include? 'Legendary'
|
64
|
-
assert first_card.subtypes.include? 'Elf'
|
65
|
-
assert first_card.subtypes.include? 'Warrior'
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_all_returns_all_cards
|
70
|
-
VCR.use_cassette('all_cards') do
|
71
|
-
stub_request(:any, "https://api.magicthegathering.io/v1/cards").
|
72
|
-
to_return(:body => File.new('test/responses/sample_cards.json'), :status => 200, :headers => {"Content-Type"=> "application/json"})
|
73
|
-
|
74
|
-
stub_request(:any, "https://api.magicthegathering.io/v1/cards?page=2").
|
75
|
-
to_return(:body => File.new('test/responses/no_cards.json'), :status => 200, :headers => {"Content-Type"=> "application/json"})
|
76
|
-
|
77
|
-
cards = MTG::Card.all
|
78
|
-
|
79
|
-
assert_equal 2, cards.length
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
require_relative 'test_helper'
|
3
|
+
|
4
|
+
class CardTest < Minitest::Test
|
5
|
+
def test_find_returns_one_card
|
6
|
+
VCR.use_cassette('one_card') do
|
7
|
+
card = MTG::Card.find(88803)
|
8
|
+
|
9
|
+
assert_equal 'Choice of Damnations', card.name
|
10
|
+
assert_equal '{5}{B}', card.mana_cost
|
11
|
+
assert_equal 6, card.cmc
|
12
|
+
assert_equal 'Sorcery — Arcane', card.type
|
13
|
+
assert card.colors.any?{|color| color == 'Black'}
|
14
|
+
assert card.color_identity.any?{|color_id| color_id == 'B'}
|
15
|
+
assert card.types.any?{|type| type == 'Sorcery'}
|
16
|
+
assert card.subtypes.any?{|subtype| subtype == 'Arcane'}
|
17
|
+
assert_equal 'Rare', card.rarity
|
18
|
+
assert_equal 'SOK', card.set
|
19
|
+
assert_equal 'Saviors of Kamigawa', card.set_name
|
20
|
+
assert_equal "Target opponent chooses a number. You may have that player lose that much life. If you don't, that player sacrifices all but that many permanents.", card.text
|
21
|
+
assert_equal "\"Life is a series of choices between bad and worse.\"\n—Toshiro Umezawa", card.flavor
|
22
|
+
assert_equal 'Tim Hildebrandt', card.artist
|
23
|
+
assert_equal '62', card.number
|
24
|
+
assert_equal 'normal', card.layout
|
25
|
+
assert_equal 88803, card.multiverse_id
|
26
|
+
assert_equal 'http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=88803&type=card', card.image_url
|
27
|
+
assert card.rulings.any?{|ruling| ruling.date == Date.parse('2005-06-01')}
|
28
|
+
assert card.foreign_names.any?{|foreign_name| foreign_name.name == '破灭抉择' && foreign_name.image_url == 'http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=104898&type=card'}
|
29
|
+
assert card.printings.any?{|printing| printing == 'SOK'}
|
30
|
+
assert_equal "Target opponent chooses a number. You may have that player lose that much life. If you don't, that player sacrifices all but that many permanents.", card.original_text
|
31
|
+
assert_equal 'Sorcery — Arcane', card.original_type
|
32
|
+
assert card.legalities.any?{|legality| legality.format == 'Commander' && legality.legality == 'Legal'}
|
33
|
+
assert_equal '1c4aab072d52d283e902f2302afa255b39e0794b', card.id
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_find_with_invalid_id_throws_exception
|
38
|
+
VCR.use_cassette('invalid_id') do
|
39
|
+
assert_raises ArgumentError do
|
40
|
+
MTG::Card.find(3239482932)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_where_with_page_size_and_page_returns_cards
|
46
|
+
VCR.use_cassette('query_cards_pageSize') do
|
47
|
+
cards = MTG::Card.where(pageSize: 10).where(page: 1).all
|
48
|
+
|
49
|
+
# make sure we got only 10 cards back
|
50
|
+
assert cards.length == 10
|
51
|
+
assert cards.kind_of?(Array)
|
52
|
+
assert cards.first.kind_of?(MTG::Card)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_all_returns_cards
|
57
|
+
VCR.use_cassette('all_filtered') do
|
58
|
+
cards = MTG::Card.where(supertypes: 'legendary')
|
59
|
+
.where(subtypes: 'elf,warrior')
|
60
|
+
.all
|
61
|
+
|
62
|
+
first_card = cards[0]
|
63
|
+
assert first_card.supertypes.include? 'Legendary'
|
64
|
+
assert first_card.subtypes.include? 'Elf'
|
65
|
+
assert first_card.subtypes.include? 'Warrior'
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_all_returns_all_cards
|
70
|
+
VCR.use_cassette('all_cards') do
|
71
|
+
stub_request(:any, "https://api.magicthegathering.io/v1/cards").
|
72
|
+
to_return(:body => File.new('test/responses/sample_cards.json'), :status => 200, :headers => {"Content-Type"=> "application/json"})
|
73
|
+
|
74
|
+
stub_request(:any, "https://api.magicthegathering.io/v1/cards?page=2").
|
75
|
+
to_return(:body => File.new('test/responses/no_cards.json'), :status => 200, :headers => {"Content-Type"=> "application/json"})
|
76
|
+
|
77
|
+
cards = MTG::Card.all
|
78
|
+
|
79
|
+
assert_equal 2, cards.length
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
data/test/changelog_test.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require_relative 'test_helper'
|
2
|
-
|
3
|
-
class ChangelogTest < Minitest::Test
|
4
|
-
def test_all_returns_all_changelogs
|
5
|
-
VCR.use_cassette('all_changelogs') do
|
6
|
-
changelogs = MTG::Changelog.all
|
7
|
-
|
8
|
-
assert changelogs.length > 1
|
9
|
-
assert changelogs.any? {|changelog| changelog.version == '1.0.0'}
|
10
|
-
end
|
11
|
-
end
|
1
|
+
require_relative 'test_helper'
|
2
|
+
|
3
|
+
class ChangelogTest < Minitest::Test
|
4
|
+
def test_all_returns_all_changelogs
|
5
|
+
VCR.use_cassette('all_changelogs') do
|
6
|
+
changelogs = MTG::Changelog.all
|
7
|
+
|
8
|
+
assert changelogs.length > 1
|
9
|
+
assert changelogs.any? {|changelog| changelog.version == '1.0.0'}
|
10
|
+
end
|
11
|
+
end
|
12
12
|
end
|
data/test/configuration_test.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
#test/client_test.rb
|
2
|
-
require_relative 'test_helper'
|
3
|
-
|
4
|
-
class ConfigurationTest < Minitest::Test
|
5
|
-
def test_defaults
|
6
|
-
config = MTG::Configuration.new
|
7
|
-
|
8
|
-
assert_equal 1, config.api_version
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_reset
|
12
|
-
MTG.configure do |config|
|
13
|
-
config.api_version = 2
|
14
|
-
end
|
15
|
-
|
16
|
-
MTG.reset
|
17
|
-
|
18
|
-
assert_equal 1, MTG.configuration.api_version
|
19
|
-
end
|
1
|
+
#test/client_test.rb
|
2
|
+
require_relative 'test_helper'
|
3
|
+
|
4
|
+
class ConfigurationTest < Minitest::Test
|
5
|
+
def test_defaults
|
6
|
+
config = MTG::Configuration.new
|
7
|
+
|
8
|
+
assert_equal 1, config.api_version
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_reset
|
12
|
+
MTG.configure do |config|
|
13
|
+
config.api_version = 2
|
14
|
+
end
|
15
|
+
|
16
|
+
MTG.reset
|
17
|
+
|
18
|
+
assert_equal 1, MTG.configuration.api_version
|
19
|
+
end
|
20
20
|
end
|
data/test/set_test.rb
CHANGED
@@ -1,52 +1,64 @@
|
|
1
|
-
require_relative 'test_helper'
|
2
|
-
|
3
|
-
class SetTest < Minitest::Test
|
4
|
-
def test_find_returns_one_set
|
5
|
-
VCR.use_cassette('one_set') do
|
6
|
-
set = MTG::Set.find('ktk')
|
7
|
-
|
8
|
-
assert_equal 'KTK', set.code
|
9
|
-
assert_equal 'Khans of Tarkir', set.name
|
10
|
-
assert_equal 'expansion', set.type
|
11
|
-
assert_equal 'black', set.border
|
12
|
-
assert set.booster.any? {|rarity| rarity == 'common'}
|
13
|
-
assert_equal '2014-09-26', set.release_date
|
14
|
-
assert_equal 'ktk', set.magic_cards_info_code
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_find_with_invalid_code_throws_exception
|
19
|
-
VCR.use_cassette('invalid_code') do
|
20
|
-
assert_raises ArgumentError do
|
21
|
-
MTG::Set.find('invalid')
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_all_returns_all_sets
|
27
|
-
VCR.use_cassette('all_sets') do
|
28
|
-
sets = MTG::Set.all
|
29
|
-
|
30
|
-
assert sets.length > 100
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_all_with_filter_returns_sets
|
35
|
-
VCR.use_cassette('all_sets_filtered') do
|
36
|
-
sets = MTG::Set.where(name: 'khans').all
|
37
|
-
|
38
|
-
set = sets[0]
|
39
|
-
assert_equal 'KTK', set.code
|
40
|
-
assert_equal 'Khans of Tarkir', set.name
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_generate_booster_returns_cards
|
45
|
-
VCR.use_cassette('booster') do
|
46
|
-
cards = MTG::Set.generate_booster('ktk')
|
47
|
-
|
48
|
-
assert cards.length == 15
|
49
|
-
assert_equal 'KTK', cards.first.set
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
1
|
+
require_relative 'test_helper'
|
2
|
+
|
3
|
+
class SetTest < Minitest::Test
|
4
|
+
def test_find_returns_one_set
|
5
|
+
VCR.use_cassette('one_set') do
|
6
|
+
set = MTG::Set.find('ktk')
|
7
|
+
|
8
|
+
assert_equal 'KTK', set.code
|
9
|
+
assert_equal 'Khans of Tarkir', set.name
|
10
|
+
assert_equal 'expansion', set.type
|
11
|
+
assert_equal 'black', set.border
|
12
|
+
assert set.booster.any? {|rarity| rarity == 'common'}
|
13
|
+
assert_equal '2014-09-26', set.release_date
|
14
|
+
assert_equal 'ktk', set.magic_cards_info_code
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_find_with_invalid_code_throws_exception
|
19
|
+
VCR.use_cassette('invalid_code') do
|
20
|
+
assert_raises ArgumentError do
|
21
|
+
MTG::Set.find('invalid')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_all_returns_all_sets
|
27
|
+
VCR.use_cassette('all_sets') do
|
28
|
+
sets = MTG::Set.all
|
29
|
+
|
30
|
+
assert sets.length > 100
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_all_with_filter_returns_sets
|
35
|
+
VCR.use_cassette('all_sets_filtered') do
|
36
|
+
sets = MTG::Set.where(name: 'khans').all
|
37
|
+
|
38
|
+
set = sets[0]
|
39
|
+
assert_equal 'KTK', set.code
|
40
|
+
assert_equal 'Khans of Tarkir', set.name
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_generate_booster_returns_cards
|
45
|
+
VCR.use_cassette('booster') do
|
46
|
+
cards = MTG::Set.generate_booster('ktk')
|
47
|
+
|
48
|
+
assert cards.length == 15
|
49
|
+
assert_equal 'KTK', cards.first.set
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_service_unavailable
|
54
|
+
VCR.use_cassette('service_unavailable') do
|
55
|
+
assert_raises ArgumentError, "Unavailable Service" do
|
56
|
+
MTG::Set.find('ktk')
|
57
|
+
end
|
58
|
+
|
59
|
+
assert_raises ArgumentError, "Unavailable Service" do
|
60
|
+
MTG::Set.all
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
data/test/subtype_test.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require_relative 'test_helper'
|
2
|
-
|
3
|
-
class SubtypeTest < Minitest::Test
|
4
|
-
def test_all_returns_all_subtypes
|
5
|
-
VCR.use_cassette('all_subtypes') do
|
6
|
-
types = MTG::Subtype.all
|
7
|
-
|
8
|
-
assert types.length > 10
|
9
|
-
assert types.any? {|type| type == 'Warrior'}
|
10
|
-
end
|
11
|
-
end
|
1
|
+
require_relative 'test_helper'
|
2
|
+
|
3
|
+
class SubtypeTest < Minitest::Test
|
4
|
+
def test_all_returns_all_subtypes
|
5
|
+
VCR.use_cassette('all_subtypes') do
|
6
|
+
types = MTG::Subtype.all
|
7
|
+
|
8
|
+
assert types.length > 10
|
9
|
+
assert types.any? {|type| type == 'Warrior'}
|
10
|
+
end
|
11
|
+
end
|
12
12
|
end
|
data/test/supertype_test.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require_relative 'test_helper'
|
2
|
-
|
3
|
-
class SupertypeTest < Minitest::Test
|
4
|
-
def test_all_returns_all_types
|
5
|
-
VCR.use_cassette('all_supertypes') do
|
6
|
-
types = MTG::Supertype.all
|
7
|
-
|
8
|
-
assert types.length == 5
|
9
|
-
assert types.any? {|type| type == 'Legendary'}
|
10
|
-
end
|
11
|
-
end
|
1
|
+
require_relative 'test_helper'
|
2
|
+
|
3
|
+
class SupertypeTest < Minitest::Test
|
4
|
+
def test_all_returns_all_types
|
5
|
+
VCR.use_cassette('all_supertypes') do
|
6
|
+
types = MTG::Supertype.all
|
7
|
+
|
8
|
+
assert types.length == 5
|
9
|
+
assert types.any? {|type| type == 'Legendary'}
|
10
|
+
end
|
11
|
+
end
|
12
12
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
|
-
#test/test_helper.rb
|
2
|
-
require 'simplecov'
|
3
|
-
require 'coveralls'
|
4
|
-
require 'codeclimate-test-reporter'
|
5
|
-
|
6
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
7
|
-
SimpleCov::Formatter::HTMLFormatter,
|
8
|
-
Coveralls::SimpleCov::Formatter,
|
9
|
-
CodeClimate::TestReporter::Formatter
|
10
|
-
])
|
11
|
-
SimpleCov.start
|
12
|
-
|
13
|
-
require_relative '../lib/mtg_sdk'
|
14
|
-
require 'minitest/autorun'
|
15
|
-
require 'webmock/minitest'
|
16
|
-
require 'vcr'
|
17
|
-
|
18
|
-
VCR.configure do |c|
|
19
|
-
c.cassette_library_dir = "test/fixtures"
|
20
|
-
c.hook_into :webmock
|
21
|
-
c.ignore_hosts 'codeclimate.com'
|
1
|
+
#test/test_helper.rb
|
2
|
+
require 'simplecov'
|
3
|
+
require 'coveralls'
|
4
|
+
require 'codeclimate-test-reporter'
|
5
|
+
|
6
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
7
|
+
SimpleCov::Formatter::HTMLFormatter,
|
8
|
+
Coveralls::SimpleCov::Formatter,
|
9
|
+
CodeClimate::TestReporter::Formatter
|
10
|
+
])
|
11
|
+
SimpleCov.start
|
12
|
+
|
13
|
+
require_relative '../lib/mtg_sdk'
|
14
|
+
require 'minitest/autorun'
|
15
|
+
require 'webmock/minitest'
|
16
|
+
require 'vcr'
|
17
|
+
|
18
|
+
VCR.configure do |c|
|
19
|
+
c.cassette_library_dir = "test/fixtures"
|
20
|
+
c.hook_into :webmock
|
21
|
+
c.ignore_hosts 'codeclimate.com'
|
22
22
|
end
|
data/test/type_test.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require_relative 'test_helper'
|
2
|
-
|
3
|
-
class TypeTest < Minitest::Test
|
4
|
-
def test_all_returns_all_types
|
5
|
-
VCR.use_cassette('all_types') do
|
6
|
-
types = MTG::Type.all
|
7
|
-
|
8
|
-
assert types.length > 10
|
9
|
-
assert types.any? {|type| type == 'Creature'}
|
10
|
-
end
|
11
|
-
end
|
1
|
+
require_relative 'test_helper'
|
2
|
+
|
3
|
+
class TypeTest < Minitest::Test
|
4
|
+
def test_all_returns_all_types
|
5
|
+
VCR.use_cassette('all_types') do
|
6
|
+
types = MTG::Type.all
|
7
|
+
|
8
|
+
assert types.length > 10
|
9
|
+
assert types.any? {|type| type == 'Creature'}
|
10
|
+
end
|
11
|
+
end
|
12
12
|
end
|