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)
|
expect { pet.save! }.to change { pet_state.persisted? }.from(false).to(true)
|
||||||
end
|
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.
|
pet.save! # TODO: I wish this were set up before saving.
|
||||||
|
|
||||||
expect(pet_state.swf_assets).to contain_exactly(
|
expect(pet_state.swf_assets).to contain_exactly(
|
||||||
|
@ -76,6 +86,7 @@ RSpec.describe Pet, type: :model do
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "when modeled a second time" do
|
context "when modeled a second time" do
|
||||||
before { pet.save! }
|
before { pet.save! }
|
||||||
|
@ -114,13 +125,69 @@ RSpec.describe Pet, type: :model do
|
||||||
subject(:biology_assets) { pet.pet_state.swf_assets }
|
subject(:biology_assets) { pet.pet_state.swf_assets }
|
||||||
let(:asset_ids) { biology_assets.map(&:remote_id) }
|
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
|
it("match the expected IDs") do
|
||||||
pet.save! # TODO: I wish this were set up before saving.
|
pet.save! # TODO: I wish this were set up before saving.
|
||||||
|
|
||||||
expect(asset_ids).to contain_exactly(331, 332, 333, 23760, 23411)
|
expect(asset_ids).to contain_exactly(331, 332, 333, 23760, 23411)
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue