Add tests for matts_bat's items
Not their assets yet, just the items
This commit is contained in:
parent
8902527438
commit
6d25b3424f
1 changed files with 103 additions and 36 deletions
|
@ -37,7 +37,17 @@ RSpec.describe Pet, type: :model do
|
|||
expect { pet.save! }.to change { pet_state.persisted? }.from(false).to(true)
|
||||
end
|
||||
|
||||
it "has new biology assets" do
|
||||
describe "its biology assets" do
|
||||
subject(:biology_assets) { pet_state.swf_assets }
|
||||
let(:asset_ids) { biology_assets.map(&:remote_id) }
|
||||
|
||||
it("are all new") { expect(biology_assets.all?(&:new_record?)).to be true }
|
||||
it("match the expected IDs") do
|
||||
pet.save! # TODO: I wish this were set up before saving.
|
||||
|
||||
expect(asset_ids).to contain_exactly(10083, 11613, 14187, 14189)
|
||||
end
|
||||
it("have the expected asset metadata") do
|
||||
pet.save! # TODO: I wish this were set up before saving.
|
||||
|
||||
expect(pet_state.swf_assets).to contain_exactly(
|
||||
|
@ -76,6 +86,7 @@ RSpec.describe Pet, type: :model do
|
|||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "when modeled a second time" do
|
||||
before { pet.save! }
|
||||
|
@ -114,13 +125,69 @@ RSpec.describe Pet, type: :model do
|
|||
subject(:biology_assets) { pet.pet_state.swf_assets }
|
||||
let(:asset_ids) { biology_assets.map(&:remote_id) }
|
||||
|
||||
it("are all new") { expect(biology_assets.all?(&:new_record?)).to be true }
|
||||
it("are all new") { expect(biology_assets.map(&:new_record?)).to all be(true) }
|
||||
it("match the expected IDs") do
|
||||
pet.save! # TODO: I wish this were set up before saving.
|
||||
|
||||
expect(asset_ids).to contain_exactly(331, 332, 333, 23760, 23411)
|
||||
end
|
||||
end
|
||||
|
||||
describe "its items" do
|
||||
subject(:items) { pet.items }
|
||||
|
||||
it("are all new") { expect(items.map(&:new_record?)).to all be(true) }
|
||||
it("are saved when saving the pet") do
|
||||
expect { pet.save! }.to change { items.map(&:persisted?) }.
|
||||
from(all(be(false))).to(all(be(true)))
|
||||
end
|
||||
it("have the expected item metadata") do
|
||||
should contain_exactly(
|
||||
a_record_matching(
|
||||
id: 39552,
|
||||
name: "Springy Eye Glasses",
|
||||
description: "Hey, keep your eyes in your head!",
|
||||
thumbnail_url: "https://images.neopets.com/items/mall_springyeyeglasses.gif",
|
||||
category: "Clothes",
|
||||
type: "Clothes",
|
||||
rarity: "Artifact",
|
||||
rarity_index: 500,
|
||||
price: 0,
|
||||
weight_lbs: 1,
|
||||
species_support_ids: "3",
|
||||
zones_restrict: "0000000000000000000000000000000000000000000000000000",
|
||||
),
|
||||
a_record_matching(
|
||||
id: 53874,
|
||||
name: "404 Shirt",
|
||||
description: "When Neopets is down, the shirt comes on!",
|
||||
thumbnail_url: "https://images.neopets.com/items/clo_404_shirt.gif",
|
||||
category: "Clothes",
|
||||
type: "Clothes",
|
||||
rarity: "Rare",
|
||||
rarity_index: 88,
|
||||
price: 1701,
|
||||
weight_lbs: 1,
|
||||
species_support_ids: "3",
|
||||
zones_restrict: "0000000000000000000000000000000000000000000000000000",
|
||||
),
|
||||
a_record_matching(
|
||||
id: 71706,
|
||||
name: "On the Roof Background",
|
||||
description: "Who is that on the roof?! Could it be...?",
|
||||
thumbnail_url: "https://images.neopets.com/items/gif_roof_onthe_fg.gif",
|
||||
category: "Special",
|
||||
type: "Mystical Surroundings",
|
||||
rarity: "Special",
|
||||
rarity_index: 101,
|
||||
price: 0,
|
||||
weight_lbs: 1,
|
||||
species_support_ids: "",
|
||||
zones_restrict: "0000000000000000000000000000000000000000000000000000",
|
||||
),
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue