From 927d783a9626149ca006f6f46f0b1d7ad6965b95 Mon Sep 17 00:00:00 2001 From: Matchu Date: Thu, 4 Feb 2021 21:24:53 -0800 Subject: [PATCH] Delete GQL query tests I haven't been keeping these up to date, so at this point they're more overhead than they're worth. Helpful in the early days when we were iterating fast and making more mistakes, but now we're more solid (and I learned how to just resend queries from devtools :p) --- src/server/query-tests/Color.test.js | 188 - src/server/query-tests/Item.test.js | 1003 --- src/server/query-tests/ItemSearch.test.js | 419 - src/server/query-tests/Outfit.test.js | 104 - src/server/query-tests/Pet.test.js | 404 - src/server/query-tests/PetAppearance.test.js | 297 - src/server/query-tests/Species.test.js | 253 - src/server/query-tests/User.test.js | 458 - .../__snapshots__/Color.test.js.snap | 568 -- .../__snapshots__/Item.test.js.snap | 7413 ----------------- .../__snapshots__/ItemSearch.test.js.snap | 314 - .../__snapshots__/Outfit.test.js.snap | 70 - .../__snapshots__/Pet.test.js.snap | 3022 ------- .../__snapshots__/PetAppearance.test.js.snap | 1337 --- .../__snapshots__/Species.test.js.snap | 283 - .../__snapshots__/User.test.js.snap | 207 - src/server/query-tests/setup.js | 201 - 17 files changed, 16541 deletions(-) delete mode 100644 src/server/query-tests/Color.test.js delete mode 100644 src/server/query-tests/Item.test.js delete mode 100644 src/server/query-tests/ItemSearch.test.js delete mode 100644 src/server/query-tests/Outfit.test.js delete mode 100644 src/server/query-tests/Pet.test.js delete mode 100644 src/server/query-tests/PetAppearance.test.js delete mode 100644 src/server/query-tests/Species.test.js delete mode 100644 src/server/query-tests/User.test.js delete mode 100644 src/server/query-tests/__snapshots__/Color.test.js.snap delete mode 100644 src/server/query-tests/__snapshots__/Item.test.js.snap delete mode 100644 src/server/query-tests/__snapshots__/ItemSearch.test.js.snap delete mode 100644 src/server/query-tests/__snapshots__/Outfit.test.js.snap delete mode 100644 src/server/query-tests/__snapshots__/Pet.test.js.snap delete mode 100644 src/server/query-tests/__snapshots__/PetAppearance.test.js.snap delete mode 100644 src/server/query-tests/__snapshots__/Species.test.js.snap delete mode 100644 src/server/query-tests/__snapshots__/User.test.js.snap delete mode 100644 src/server/query-tests/setup.js diff --git a/src/server/query-tests/Color.test.js b/src/server/query-tests/Color.test.js deleted file mode 100644 index bfb8079..0000000 --- a/src/server/query-tests/Color.test.js +++ /dev/null @@ -1,188 +0,0 @@ -import gql from "graphql-tag"; -import { query, getDbCalls } from "./setup.js"; - -describe("Color", () => { - it("loads a single color", async () => { - const res = await query({ - query: gql` - query { - color(id: "8") { - id - name - isStandard - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "color": Object { - "id": "8", - "isStandard": true, - "name": "Blue", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM colors WHERE id IN (?) AND prank = 0", - Array [ - "8", - ], - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?) AND locale = \\"en\\"", - Array [ - "8", - ], - ], - ] - `); - }); - - it("loads all colors", async () => { - const res = await query({ - query: gql` - query { - allColors { - id - name - isStandard - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM colors WHERE prank = 0", - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22", - "23", - "24", - "25", - "26", - "27", - "28", - "29", - "30", - "31", - "32", - "33", - "34", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "63", - "64", - "65", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "75", - "76", - "77", - "78", - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "94", - "95", - "96", - "97", - "98", - "99", - "100", - "101", - "102", - "103", - "104", - "105", - "106", - "107", - "108", - "109", - "110", - "111", - "112", - ], - ], - ] - `); - }); -}); diff --git a/src/server/query-tests/Item.test.js b/src/server/query-tests/Item.test.js deleted file mode 100644 index 24bb7ed..0000000 --- a/src/server/query-tests/Item.test.js +++ /dev/null @@ -1,1003 +0,0 @@ -import gql from "graphql-tag"; -import { - query, - mutate, - getDbCalls, - useTestDb, - logInAsTestUser, - createItem, -} from "./setup.js"; - -describe("Item", () => { - it("loads metadata", async () => { - const res = await query({ - query: gql` - query { - items( - ids: ["38913", "38911", "38912", "55788", "60671", "77530", "78104"] - ) { - id - name - description - thumbnailUrl - rarityIndex - isNc - isPb - createdAt - manualSpecialColor { - id - name - } - explicitlyBodySpecific - allOccupiedZones { - label - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "38913", - "38911", - "38912", - "55788", - "60671", - "77530", - "78104", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?,?,?,?,?,?,?)", - Array [ - "38913", - "38911", - "38912", - "55788", - "60671", - "77530", - "78104", - ], - ], - Array [ - "SELECT items.id, GROUP_CONCAT(DISTINCT sa.zone_id) AS zone_ids FROM items - INNER JOIN parents_swf_assets psa - ON psa.parent_type = \\"Item\\" AND psa.parent_id = items.id - INNER JOIN swf_assets sa ON sa.id = psa.swf_asset_id - WHERE items.id IN (?, ?, ?, ?, ?, ?, ?) - GROUP BY items.id;", - Array [ - "38913", - "38911", - "38912", - "55788", - "60671", - "77530", - "78104", - ], - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?) AND locale = \\"en\\"", - Array [ - "44", - ], - ], - Array [ - "SELECT * FROM zone_translations WHERE zone_id IN (?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "25", - "40", - "26", - "46", - "23", - "3", - ], - ], - ] - `); - }); - - it("loads items by name", async () => { - const res = await query({ - query: gql` - query { - itemByName(name: "Moon and Stars Background") { - id - name - thumbnailUrl - } - notFoundItem: itemByName(name: "?! fake name") { - id - name - thumbnailUrl - } - itemsByName( - names: [" Zafara Agent Robe ", "pile of dung", "?! fake name"] - ) { - id - name - thumbnailUrl - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot("data"); - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("loads appearance data", async () => { - const res = await query({ - query: gql` - query { - items( - ids: [ - "38912" # Zafara Agent Robe - "38911" # Zafara Agent Hood - "37375" # Moon and Stars Background - "78244" # Bubbles on Water Foreground - ] - ) { - id - name - - appearanceOn(speciesId: "54", colorId: "75") { - layers { - id - remoteId - imageUrl(size: SIZE_600) - svgUrl - canvasMovieLibraryUrl - zone { - id - depth - label - } - } - - restrictedZones { - id - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?) AND locale = \\"en\\"", - Array [ - "38912", - "38911", - "37375", - "78244", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "38912", - "180", - "38911", - "180", - "37375", - "180", - "78244", - "180", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?,?,?,?)", - Array [ - "38912", - "38911", - "37375", - "78244", - ], - ], - Array [ - "SELECT * FROM zones WHERE id IN (?,?,?,?)", - Array [ - "26", - "40", - "3", - "45", - ], - ], - Array [ - "SELECT * FROM zone_translations WHERE zone_id IN (?,?,?,?) AND locale = \\"en\\"", - Array [ - "26", - "40", - "3", - "45", - ], - ], - ] - `); - }); - - it("returns empty appearance for incompatible items", async () => { - const res = await query({ - query: gql` - query { - items(ids: ["38912"]) { - id - name - - appearanceOn(speciesId: "1", colorId: "8") { - layers { - id - } - - # Pay particular attention to this: normally this item restricts - # zones, but not when the appearance is empty! - restrictedZones { - id - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "items": Array [ - Object { - "appearanceOn": Object { - "layers": Array [], - "restrictedZones": Array [], - }, - "id": "38912", - "name": "Zafara Agent Robe", - }, - ], - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?) AND locale = \\"en\\"", - Array [ - "38912", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "1", - "8", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "38912", - "93", - ], - ], - ] - `); - }); - - it("skips appearance data for audio assets", async () => { - const res = await query({ - query: gql` - query { - items(ids: ["42829"]) { - id - name - - appearanceOn(speciesId: "54", colorId: "75") { - layers { - id - imageUrl(size: SIZE_600) - svgUrl - zone { - id - depth - label - } - } - - restrictedZones { - id - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?) AND locale = \\"en\\"", - Array [ - "42829", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "42829", - "180", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "42829", - ], - ], - ] - `); - }); - - it("loads whether we own/want items", async () => { - await logInAsTestUser(); - - const res = await query({ - query: gql` - query { - items(ids: ["38913", "39945", "39948"]) { - id - currentUserOwnsThis - currentUserWantsThis - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "items": Array [ - Object { - "currentUserOwnsThis": false, - "currentUserWantsThis": false, - "id": "38913", - }, - Object { - "currentUserOwnsThis": false, - "currentUserWantsThis": true, - "id": "39945", - }, - Object { - "currentUserOwnsThis": true, - "currentUserWantsThis": false, - "id": "39948", - }, - ], - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "44743", - ], - ], - ] - `); - }); - - it("does not own/want items if not logged in", async () => { - const res = await query({ - query: gql` - query { - items(ids: ["38913", "39945", "39948"]) { - id - currentUserOwnsThis - currentUserWantsThis - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "items": Array [ - Object { - "currentUserOwnsThis": false, - "currentUserWantsThis": false, - "id": "38913", - }, - Object { - "currentUserOwnsThis": false, - "currentUserWantsThis": false, - "id": "39945", - }, - Object { - "currentUserOwnsThis": false, - "currentUserWantsThis": false, - "id": "39948", - }, - ], - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(`Array []`); - }); - - it("loads items that need models", async () => { - jest.setTimeout(20000); - - const res = await query({ - query: gql` - query { - standardItems: itemsThatNeedModels { - id - name - speciesThatNeedModels { - id - name - } - } - - babyItems: itemsThatNeedModels(colorId: "6") { - id - name - speciesThatNeedModels(colorId: "6") { - id - name - } - } - - maraquanItems: itemsThatNeedModels(colorId: "44") { - id - name - speciesThatNeedModels(colorId: "44") { - id - name - } - } - - mutantItems: itemsThatNeedModels(colorId: "46") { - id - name - speciesThatNeedModels(colorId: "46") { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchSnapshot(); - }); - - it("loads canonical appearance for single-species item", async () => { - const res = await query({ - query: gql` - query { - item( - id: "38911" # Zafara Agent Hood - ) { - canonicalAppearance { - id - layers { - id - } - body { - species { - name - } - canonicalAppearance { - id - } - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - const body = res.data.item.canonicalAppearance.body; - expect(body.species.name).toEqual("Zafara"); - expect(res.data.item.canonicalAppearance.layers).toMatchSnapshot( - "item layers" - ); - expect(body.canonicalAppearance).toBeTruthy(); - expect(body.canonicalAppearance).toMatchSnapshot("pet layers"); - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("loads canonical appearance for all-species item", async () => { - const res = await query({ - query: gql` - query { - item( - id: "74967" # 17th Birthday Party Hat - ) { - canonicalAppearance { - id - layers { - id - } - body { - species { - name - } - canonicalAppearance { - id - } - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - const body = res.data.item.canonicalAppearance.body; - expect(body.species.name).toEqual("Acara"); - expect(res.data.item.canonicalAppearance.layers).toMatchSnapshot( - "item layers" - ); - expect(body.canonicalAppearance).toBeTruthy(); - expect(body.canonicalAppearance).toMatchSnapshot("pet layers"); - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("loads canonical appearance for all-species Maraquan item", async () => { - const res = await query({ - query: gql` - query { - item( - id: "77530" # Maraquan Sea Blue Gown - ) { - canonicalAppearance { - id - layers { - id - } - body { - canonicalAppearance { - color { - name - } - species { - name - } - layers { - id - } - } - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - const body = res.data.item.canonicalAppearance.body; - expect(res.data.item.canonicalAppearance).toBeTruthy(); - expect(res.data.item.canonicalAppearance.layers).toMatchSnapshot( - "item layers" - ); - expect(body.canonicalAppearance).toBeTruthy(); - expect(body.canonicalAppearance.species.name).toEqual("Acara"); - expect(body.canonicalAppearance.color.name).toEqual("Maraquan"); - expect(body.canonicalAppearance.layers).toMatchSnapshot("pet layers"); - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("loads canonical appearance for bodyId=0 item", async () => { - const res = await query({ - query: gql` - query { - item( - id: "37375" # Moon and Stars Background - ) { - canonicalAppearance { - id - layers { - id - } - body { - species { - name - } - canonicalAppearance { - id - } - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - const body = res.data.item.canonicalAppearance.body; - expect(body.species.name).toEqual("Acara"); - expect(res.data.item.canonicalAppearance.layers).toMatchSnapshot( - "item layers" - ); - expect(body.canonicalAppearance).toBeTruthy(); - expect(body.canonicalAppearance).toMatchSnapshot("pet layers"); - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("adds new item to items current user owns", async () => { - useTestDb(); - await Promise.all([logInAsTestUser(), createItem("1")]); - - // To start, the user should not own the item yet. - let res = await query({ - query: gql` - query { - item(id: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(false); - - // Mutate the item to mark that the user owns it, and check that the - // immediate response reflects this. - res = await mutate({ - mutation: gql` - mutation { - item: addToItemsCurrentUserOwns(itemId: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(true); - - // Confirm that, when replaying the first query, we see that the user now - // _does_ own the item. - res = await query({ - query: gql` - query { - item(id: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(true); - - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("does not add duplicates when user already owns item", async () => { - useTestDb(); - await Promise.all([logInAsTestUser(), createItem("1")]); - - // Send the add mutation for the first time. This should add it to the - // items we own. - let res = await mutate({ - mutation: gql` - mutation { - item: addToItemsCurrentUserOwns(itemId: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(true); - - // Send the add mutation for the second time. This should do nothing, - // because we already own it. - res = await mutate({ - mutation: gql` - mutation { - item: addToItemsCurrentUserOwns(itemId: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(true); - - // Afterwards, confirm that it only appears once in the list of items we - // own, instead of duplicating. - res = await query({ - query: gql` - query { - currentUser { - itemsTheyOwn { - id - } - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.currentUser.itemsTheyOwn).toEqual([{ id: "1" }]); - - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("adds new item to items current user wants", async () => { - useTestDb(); - await Promise.all([logInAsTestUser(), createItem("1")]); - - // To start, the user should not want the item yet. - let res = await query({ - query: gql` - query { - item(id: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(false); - - // Mutate the item to mark that the user wants it, and check that the - // immediate response reflects this. - res = await mutate({ - mutation: gql` - mutation { - item: addToItemsCurrentUserWants(itemId: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(true); - - // Confirm that, when replaying the first query, we see that the user now - // _does_ want the item. - res = await query({ - query: gql` - query { - item(id: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(true); - - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("does not add duplicates when user already wants item", async () => { - useTestDb(); - await Promise.all([logInAsTestUser(), createItem("1")]); - - // Send the add mutation for the first time. This should add it to the - // items we want. - let res = await mutate({ - mutation: gql` - mutation { - item: addToItemsCurrentUserWants(itemId: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(true); - - // Send the add mutation for the second time. This should do nothing, - // because we already want it. - res = await mutate({ - mutation: gql` - mutation { - item: addToItemsCurrentUserWants(itemId: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(true); - - // Afterwards, confirm that it only appears once in the list of items we - // want, instead of duplicating. - res = await query({ - query: gql` - query { - currentUser { - itemsTheyWant { - id - } - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.currentUser.itemsTheyWant).toEqual([{ id: "1" }]); - - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("removes item from items user owns", async () => { - useTestDb(); - await Promise.all([logInAsTestUser(), createItem("1")]); - - // First, add the item. - let res = await mutate({ - mutation: gql` - mutation { - item: addToItemsCurrentUserOwns(itemId: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(true); - - // Then, remove the item. - res = await mutate({ - mutation: gql` - mutation { - item: removeFromItemsCurrentUserOwns(itemId: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(false); - - // Finally, confirm the removal was persisted. - res = await query({ - query: gql` - query { - item(id: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(false); - - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("does nothing when removing an item we don't own", async () => { - useTestDb(); - await Promise.all([logInAsTestUser(), createItem("1")]); - - let res = await mutate({ - mutation: gql` - mutation { - item: removeFromItemsCurrentUserOwns(itemId: "1") { - currentUserOwnsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserOwnsThis).toBe(false); - - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("removes item from items user wants", async () => { - useTestDb(); - await Promise.all([logInAsTestUser(), createItem("1")]); - - // First, add the item. - let res = await mutate({ - mutation: gql` - mutation { - item: addToItemsCurrentUserWants(itemId: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(true); - - // Then, remove the item. - res = await mutate({ - mutation: gql` - mutation { - item: removeFromItemsCurrentUserWants(itemId: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(false); - - // Finally, confirm the removal was persisted. - res = await query({ - query: gql` - query { - item(id: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(false); - - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("does nothing when removing an item we don't want", async () => { - useTestDb(); - await Promise.all([logInAsTestUser(), createItem("1")]); - - let res = await mutate({ - mutation: gql` - mutation { - item: removeFromItemsCurrentUserWants(itemId: "1") { - currentUserWantsThis - } - } - `, - }); - expect(res).toHaveNoErrors(); - expect(res.data.item.currentUserWantsThis).toBe(false); - - expect(getDbCalls()).toMatchSnapshot("db"); - }); -}); diff --git a/src/server/query-tests/ItemSearch.test.js b/src/server/query-tests/ItemSearch.test.js deleted file mode 100644 index 63fe171..0000000 --- a/src/server/query-tests/ItemSearch.test.js +++ /dev/null @@ -1,419 +0,0 @@ -import gql from "graphql-tag"; -import { query, getDbCalls } from "./setup.js"; - -describe("ItemSearch", () => { - it("loads Neopian Times items", async () => { - const res = await query({ - query: gql` - query { - itemSearch(query: "Neopian Times") { - query - items { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT items.*, t.name FROM items - INNER JOIN item_translations t ON t.item_id = items.id - WHERE t.name LIKE ? AND t.name LIKE ? AND t.locale=\\"en\\" - ORDER BY t.name - LIMIT 30", - Array [ - "%Neopian%", - "%Times%", - ], - ], - ] - `); - }); - - it("searches for each word separately", async () => { - const res = await query({ - query: gql` - query { - itemSearch(query: "Tarla Workshop") { - query - items { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "itemSearch": Object { - "items": Array [ - Object { - "id": "50377", - "name": "Tarlas Underground Workshop Background", - }, - ], - "query": "Tarla Workshop", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT items.*, t.name FROM items - INNER JOIN item_translations t ON t.item_id = items.id - WHERE t.name LIKE ? AND t.name LIKE ? AND t.locale=\\"en\\" - ORDER BY t.name - LIMIT 30", - Array [ - "%Tarla%", - "%Workshop%", - ], - ], - ] - `); - }); - - it("loads Neopian Times items that fit the Starry Zafara", async () => { - const res = await query({ - query: gql` - query { - itemSearchToFit( - query: "Neopian Times" - speciesId: "54" - colorId: "75" - ) { - query - items { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT DISTINCT items.*, t.name FROM items - INNER JOIN item_translations t ON t.item_id = items.id - INNER JOIN parents_swf_assets rel - ON rel.parent_type = \\"Item\\" AND rel.parent_id = items.id - INNER JOIN swf_assets ON rel.swf_asset_id = swf_assets.id - WHERE t.name LIKE ? AND t.name LIKE ? AND t.locale=\\"en\\" AND - (swf_assets.body_id = ? OR swf_assets.body_id = 0) AND - 1 - ORDER BY t.name - LIMIT ? OFFSET ?", - Array [ - "%Neopian%", - "%Times%", - "180", - 30, - 0, - ], - ], - ] - `); - }); - - it("loads Neopian Times items that fit the Starry Zafara as a Background", async () => { - const res = await query({ - query: gql` - query { - itemSearchToFit( - query: "Neopian Times" - speciesId: "54" - colorId: "75" - zoneIds: ["3"] - ) { - query - items { - id - name - } - zones { - id - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "itemSearchToFit": Object { - "items": Array [ - Object { - "id": "40431", - "name": "Neopian Times Background", - }, - ], - "query": "Neopian Times", - "zones": Array [ - Object { - "id": "3", - }, - ], - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT DISTINCT items.*, t.name FROM items - INNER JOIN item_translations t ON t.item_id = items.id - INNER JOIN parents_swf_assets rel - ON rel.parent_type = \\"Item\\" AND rel.parent_id = items.id - INNER JOIN swf_assets ON rel.swf_asset_id = swf_assets.id - WHERE t.name LIKE ? AND t.name LIKE ? AND t.locale=\\"en\\" AND - (swf_assets.body_id = ? OR swf_assets.body_id = 0) AND - swf_assets.zone_id IN (?) - ORDER BY t.name - LIMIT ? OFFSET ?", - Array [ - "%Neopian%", - "%Times%", - "180", - "3", - 30, - 0, - ], - ], - ] - `); - }); - - it("searches for each word separately (fit mode)", async () => { - const res = await query({ - query: gql` - query { - itemSearchToFit( - query: "Tarla Workshop" - speciesId: "54" - colorId: "75" - ) { - query - items { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "itemSearchToFit": Object { - "items": Array [ - Object { - "id": "50377", - "name": "Tarlas Underground Workshop Background", - }, - ], - "query": "Tarla Workshop", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT DISTINCT items.*, t.name FROM items - INNER JOIN item_translations t ON t.item_id = items.id - INNER JOIN parents_swf_assets rel - ON rel.parent_type = \\"Item\\" AND rel.parent_id = items.id - INNER JOIN swf_assets ON rel.swf_asset_id = swf_assets.id - WHERE t.name LIKE ? AND t.name LIKE ? AND t.locale=\\"en\\" AND - (swf_assets.body_id = ? OR swf_assets.body_id = 0) AND - 1 - ORDER BY t.name - LIMIT ? OFFSET ?", - Array [ - "%Tarla%", - "%Workshop%", - "180", - 30, - 0, - ], - ], - ] - `); - }); - - it("loads the first 10 hats that fit the Starry Zafara", async () => { - const res = await query({ - query: gql` - query { - itemSearchToFit( - query: "hat" - speciesId: "54" - colorId: "75" - offset: 0 - limit: 10 - ) { - query - items { - id - name - appearanceOn(speciesId: "54", colorId: "75") { - layers { - id - } - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT DISTINCT items.*, t.name FROM items - INNER JOIN item_translations t ON t.item_id = items.id - INNER JOIN parents_swf_assets rel - ON rel.parent_type = \\"Item\\" AND rel.parent_id = items.id - INNER JOIN swf_assets ON rel.swf_asset_id = swf_assets.id - WHERE t.name LIKE ? AND t.locale=\\"en\\" AND - (swf_assets.body_id = ? OR swf_assets.body_id = 0) AND - 1 - ORDER BY t.name - LIMIT ? OFFSET ?", - Array [ - "%hat%", - "180", - 10, - 0, - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "74967", - "180", - "49026", - "180", - "67242", - "180", - "64177", - "180", - "69995", - "180", - "62375", - "180", - "56654", - "180", - "62322", - "180", - "58733", - "180", - "80401", - "180", - ], - ], - ] - `); - }); - - it("loads the next 10 hats that fit the Starry Zafara", async () => { - const res = await query({ - query: gql` - query { - itemSearchToFit( - query: "hat" - speciesId: "54" - colorId: "75" - offset: 10 - limit: 10 - ) { - query - items { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT DISTINCT items.*, t.name FROM items - INNER JOIN item_translations t ON t.item_id = items.id - INNER JOIN parents_swf_assets rel - ON rel.parent_type = \\"Item\\" AND rel.parent_id = items.id - INNER JOIN swf_assets ON rel.swf_asset_id = swf_assets.id - WHERE t.name LIKE ? AND t.locale=\\"en\\" AND - (swf_assets.body_id = ? OR swf_assets.body_id = 0) AND - 1 - ORDER BY t.name - LIMIT ? OFFSET ?", - Array [ - "%hat%", - "180", - 10, - 10, - ], - ], - ] - `); - }); -}); diff --git a/src/server/query-tests/Outfit.test.js b/src/server/query-tests/Outfit.test.js deleted file mode 100644 index fae9278..0000000 --- a/src/server/query-tests/Outfit.test.js +++ /dev/null @@ -1,104 +0,0 @@ -import gql from "graphql-tag"; -import { query, getDbCalls } from "./setup.js"; - -describe("Outfit", () => { - it("loads an outfit by ID", async () => { - const res = await query({ - query: gql` - query { - outfit(id: "31856") { - id - name - - petAppearance { - id - - color { - id - name - } - - species { - id - name - } - - pose - } - - wornItems { - id - name - } - - closetedItems { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM outfits WHERE id IN (?)", - Array [ - "31856", - ], - ], - Array [ - "SELECT * FROM item_outfit_relationships WHERE outfit_id IN (?)", - Array [ - "31856", - ], - ], - Array [ - "SELECT * FROM pet_states WHERE id IN (?)", - Array [ - "3951", - ], - ], - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "38916", - "51054", - "38914", - "36125", - "36467", - "47075", - "47056", - "39662", - "56706", - "38915", - "56398", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE id IN (?)", - Array [ - "33", - ], - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?) AND locale = \\"en\\"", - Array [ - "34", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "54", - ], - ], - ] - `); - }); -}); diff --git a/src/server/query-tests/Pet.test.js b/src/server/query-tests/Pet.test.js deleted file mode 100644 index df7d71f..0000000 --- a/src/server/query-tests/Pet.test.js +++ /dev/null @@ -1,404 +0,0 @@ -import gql from "graphql-tag"; -import { - query, - getDbCalls, - clearDbCalls, - useTestDb, - connectToDb, -} from "./setup.js"; - -describe("Pet", () => { - it("looks up a pet", async () => { - const res = await query({ - query: gql` - query { - petOnNeopetsDotCom(petName: "roopal27") { - species { - id - name - } - color { - id - name - } - pose - items { - id - name - description - thumbnailUrl - rarityIndex - isNc - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?,?,?,?,?,?,?,?)", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM swf_assets WHERE (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?)", - Array [ - "object", - "6829", - "object", - "14855", - "object", - "14856", - "object", - "14857", - "object", - "36414", - "object", - "39646", - "object", - "51959", - "object", - "56478", - "biology", - "7942", - "biology", - "7941", - "biology", - "24008", - "biology", - "21060", - "biology", - "21057", - "biology", - "7946", - ], - ], - Array [ - "SELECT * FROM pet_states WHERE (pet_type_id = ? AND swf_asset_ids = ?)", - Array [ - "2", - "7941,7942,7946,21057,21060,24008", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - 54, - ], - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?) AND locale = \\"en\\"", - Array [ - 75, - ], - ], - ] - `); - }); - - it("models new pet and item data", async () => { - useTestDb(); - - const res = await query({ - query: gql` - query { - petOnNeopetsDotCom(petName: "roopal27") { - items { - id - name - description - thumbnailUrl - rarityIndex - isNc - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchSnapshot(); - - clearDbCalls(); - - const res2 = await query({ - query: gql` - query { - petAppearance(colorId: "75", speciesId: "54", pose: SAD_MASC) { - id - pose - bodyId - - restrictedZones { - id - } - layers { - id - swfUrl - } - } - - items( - ids: [ - "37229" - "37375" - "38911" - "38912" - "38913" - "43014" - "43397" - "48313" - ] - ) { - id - name - description - thumbnailUrl - rarityIndex - isNc - createdAt - - appearanceOn(colorId: "75", speciesId: "54") { - layers { - id - swfUrl - } - } - } - } - `, - }); - - expect(res2).toHaveNoErrors(); - expect(res2.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchSnapshot(); - - clearDbCalls(); - - // If we load the pet again, it should only make SELECT queries, not - // INSERT or UPDATE. - await query({ - query: gql` - query { - petOnNeopetsDotCom(petName: "roopal27") { - items { - id - } - } - } - `, - }); - - const dbCalls = getDbCalls(); - for (const [query, _] of dbCalls) { - expect(query).toMatch(/SELECT/); - expect(query).not.toMatch(/INSERT/); - expect(query).not.toMatch(/UPDATE/); - } - }); - - it("models updated item data", async () => { - useTestDb(); - - // First, write a fake version of the Jewelled Staff to the database. - // It's mostly the real data, except we changed rarity_index, - // thumbnail_url, translated name, and translated description. - const db = await connectToDb(); - await Promise.all([ - db.query( - `INSERT INTO items (id, zones_restrict, thumbnail_url, category, - type, rarity_index, price, weight_lbs) - VALUES (43397, "00000000000000000000000000000000000000000000000", - "http://example.com/favicon.ico", "Clothes", "Clothes", 101, - 0, 1);` - ), - db.query( - `INSERT INTO item_translations (item_id, locale, name, description, - rarity) - VALUES (43397, "en", "Bejewelled Staffo", - "This staff is really neat and good!", "Artifact")` - ), - ]); - - clearDbCalls(); - - // Then, load a pet wearing this. It should trigger an UPDATE for the item - // and its translation, and return the new names in the query. - const res = await query({ - query: gql` - query { - petOnNeopetsDotCom(petName: "roopal27") { - items { - id - name - description - thumbnailUrl - rarityIndex - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - const itemData = res.data.petOnNeopetsDotCom.items.find( - (item) => item.id === "43397" - ); - expect(itemData).toEqual({ - id: "43397", - name: "Jewelled Staff", - description: "This jewelled staff shines with a magical light.", - thumbnailUrl: "http://images.neopets.com/items/mall_staff_jewelled.gif", - rarityIndex: 500, - }); - expect(getDbCalls()).toMatchSnapshot(); - - clearDbCalls(); - - // Finally, load the item. It should have the updated values. - const res2 = await query({ - query: gql` - query { - item(id: "43397") { - id - name - description - thumbnailUrl - rarityIndex - } - } - `, - }); - - expect(res2).toHaveNoErrors(); - expect(res2.data.item).toEqual({ - id: "43397", - name: "Jewelled Staff", - description: "This jewelled staff shines with a magical light.", - thumbnailUrl: "http://images.neopets.com/items/mall_staff_jewelled.gif", - rarityIndex: 500, - }); - expect(getDbCalls()).toMatchSnapshot(); - }); - - it("sets bodyId=0 after seeing it on two body types", async () => { - useTestDb(); - - // First, write the Moon and Stars Background SWF to the database, but with - // the Standard Acara body ID set. - const db = await connectToDb(); - await db.query( - `INSERT INTO swf_assets (type, remote_id, url, zone_id, zones_restrict, - created_at, body_id) - VALUES ("object", 6829, "http://images.neopets.com/cp/items/swf/000/000/006/6829_1707e50385.swf", - 3, "", CURRENT_TIMESTAMP(), 93);` - ); - - clearDbCalls(); - - // Then, model a Zafara wearing it. - await query({ - query: gql` - query { - petOnNeopetsDotCom(petName: "roopal27") { - id - } - } - `, - }); - - expect(getDbCalls()).toMatchSnapshot("db"); - - // The body ID should be 0 now. - const [rows, _] = await db.query( - `SELECT body_id FROM swf_assets - WHERE type = "object" AND remote_id = 6829;` - ); - expect(rows[0].body_id).toEqual(0); - }); - - it("models unconverted pets", async () => { - useTestDb(); - - // First, model an unconverted pet, and check its pose and layers. - const res = await query({ - query: gql` - query { - petOnNeopetsDotCom(petName: "Marishka82") { - pose - petAppearance { - id - pose - layers { - id - } - } - } - } - `, - }); - expect(res).toHaveNoErrors(); - - const modeledPet = res.data.petOnNeopetsDotCom; - expect(modeledPet.pose).toEqual("UNCONVERTED"); - expect(modeledPet.petAppearance.pose).toEqual("UNCONVERTED"); - expect(modeledPet.petAppearance.layers).toHaveLength(1); - - // Then, request the corresponding appearance fresh from the db, and - // confirm we get the same back as when we modeled the pet. - const res2 = await query({ - query: gql` - query { - petAppearance(speciesId: "31", colorId: "36", pose: UNCONVERTED) { - id - layers { - id - } - } - } - `, - }); - expect(res2).toHaveNoErrors(); - - const petAppearance = res2.data.petAppearance; - expect(petAppearance.id).toEqual(modeledPet.petAppearance.id); - expect(petAppearance.layers.map((l) => l.id)).toEqual( - modeledPet.petAppearance.layers.map((l) => l.id) - ); - }); -}); diff --git a/src/server/query-tests/PetAppearance.test.js b/src/server/query-tests/PetAppearance.test.js deleted file mode 100644 index df4a2be..0000000 --- a/src/server/query-tests/PetAppearance.test.js +++ /dev/null @@ -1,297 +0,0 @@ -import gql from "graphql-tag"; -import { query, getDbCalls } from "./setup.js"; - -describe("PetAppearance", () => { - it("loads for species and color", async () => { - const res = await query({ - query: gql` - query { - petAppearance(speciesId: "54", colorId: "75", pose: HAPPY_FEM) { - id - - species { - id - name - } - - color { - id - name - isStandard - } - - layers { - id - imageUrl(size: SIZE_600) - svgUrl - zone { - depth - } - } - - restrictedZones { - id - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT * FROM pet_states - WHERE pet_type_id IN (?) - ORDER BY (mood_id IS NULL) ASC, mood_id ASC, female DESC, - unconverted DESC, glitched ASC, id DESC", - Array [ - "2", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"PetState\\" AND - rel.swf_asset_id = sa.id - WHERE rel.parent_id IN (?)", - Array [ - "17723", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "54", - ], - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?) AND locale = \\"en\\"", - Array [ - "75", - ], - ], - Array [ - "SELECT * FROM colors WHERE id IN (?) AND prank = 0", - Array [ - "75", - ], - ], - Array [ - "SELECT * FROM zones WHERE id IN (?,?,?,?,?,?)", - Array [ - "15", - "5", - "37", - "30", - "33", - "34", - ], - ], - ] - `); - }); - - it("loads multiple for species and color", async () => { - const res = await query({ - query: gql` - query { - petAppearances(speciesId: "54", colorId: "75") { - id - - species { - id - name - } - - color { - id - name - } - - bodyId - petStateId - pose - layers { - id - imageUrl(size: SIZE_600) - zone { - depth - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT * FROM pet_states - WHERE pet_type_id IN (?) - ORDER BY (mood_id IS NULL) ASC, mood_id ASC, female DESC, - unconverted DESC, glitched ASC, id DESC", - Array [ - "2", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"PetState\\" AND - rel.swf_asset_id = sa.id - WHERE rel.parent_id IN (?,?,?,?,?,?,?,?)", - Array [ - "17723", - "17742", - "5991", - "436", - "10014", - "11089", - "4751", - "2", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "54", - ], - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?) AND locale = \\"en\\"", - Array [ - "75", - ], - ], - Array [ - "SELECT * FROM zones WHERE id IN (?,?,?,?,?,?)", - Array [ - "15", - "5", - "37", - "30", - "33", - "34", - ], - ], - ] - `); - }); - - it("loads unconverted appearance", async () => { - const res = await query({ - query: gql` - query { - petAppearance(speciesId: "1", colorId: "63", pose: UNCONVERTED) { - id - - species { - id - name - } - - color { - id - name - isStandard - } - - layers { - id - imageUrl(size: SIZE_600) - svgUrl - zone { - depth - } - } - - restrictedZones { - id - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "1", - "63", - ], - ], - Array [ - "SELECT * FROM pet_states - WHERE pet_type_id IN (?) - ORDER BY (mood_id IS NULL) ASC, mood_id ASC, female DESC, - unconverted DESC, glitched ASC, id DESC", - Array [ - "2274", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"PetState\\" AND - rel.swf_asset_id = sa.id - WHERE rel.parent_id IN (?)", - Array [ - "2571", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?) AND locale = \\"en\\"", - Array [ - "63", - ], - ], - Array [ - "SELECT * FROM colors WHERE id IN (?) AND prank = 0", - Array [ - "63", - ], - ], - Array [ - "SELECT * FROM zones WHERE id IN (?)", - Array [ - "46", - ], - ], - ] - `); - }); -}); diff --git a/src/server/query-tests/Species.test.js b/src/server/query-tests/Species.test.js deleted file mode 100644 index 1487e16..0000000 --- a/src/server/query-tests/Species.test.js +++ /dev/null @@ -1,253 +0,0 @@ -import gql from "graphql-tag"; -import { query, getDbCalls } from "./setup.js"; - -describe("Species", () => { - it("loads a single species", async () => { - const res = await query({ - query: gql` - query { - species(id: "1") { - id - name - standardBodyId - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "species": Object { - "id": "1", - "name": "Acara", - "standardBodyId": "93", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM species WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "1", - "8", - ], - ], - ] - `); - }); - - it("loads all species", async () => { - const res = await query({ - query: gql` - query { - allSpecies { - id - name - standardBodyId - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot(); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM species", - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22", - "23", - "24", - "25", - "26", - "27", - "28", - "29", - "30", - "31", - "32", - "33", - "34", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?) OR (species_id = ? AND color_id = ?)", - Array [ - "1", - "8", - "2", - "8", - "3", - "8", - "4", - "8", - "5", - "8", - "6", - "8", - "7", - "8", - "8", - "8", - "9", - "8", - "10", - "8", - "11", - "8", - "12", - "8", - "13", - "8", - "14", - "8", - "15", - "8", - "16", - "8", - "17", - "8", - "18", - "8", - "19", - "8", - "20", - "8", - "21", - "8", - "22", - "8", - "23", - "8", - "24", - "8", - "25", - "8", - "26", - "8", - "27", - "8", - "28", - "8", - "29", - "8", - "30", - "8", - "31", - "8", - "32", - "8", - "33", - "8", - "34", - "8", - "35", - "8", - "36", - "8", - "37", - "8", - "38", - "8", - "39", - "8", - "40", - "8", - "41", - "8", - "42", - "8", - "43", - "8", - "44", - "8", - "45", - "8", - "46", - "8", - "47", - "8", - "48", - "8", - "49", - "8", - "50", - "8", - "51", - "8", - "52", - "8", - "53", - "8", - "54", - "8", - "55", - "8", - ], - ], - ] - `); - }); -}); diff --git a/src/server/query-tests/User.test.js b/src/server/query-tests/User.test.js deleted file mode 100644 index e8631fc..0000000 --- a/src/server/query-tests/User.test.js +++ /dev/null @@ -1,458 +0,0 @@ -import gql from "graphql-tag"; -import { query, getDbCalls, logInAsTestUser } from "./setup.js"; - -describe("User", () => { - it("looks up a user", async () => { - // TODO: I'm not sure why this is taking extra time, maybe the db conn? - jest.setTimeout(20000); - - const res = await query({ - query: gql` - query { - user(id: "6") { - id - username - contactNeopetsUsername - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "user": Object { - "contactNeopetsUsername": "matchu1993", - "id": "6", - "username": "matchu", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "6", - ], - ], - Array [ - "SELECT * FROM neopets_connections WHERE id IN (?)", - Array [ - "1", - ], - ], - ] - `); - }); - - it("returns null when user not found", async () => { - const res = await query({ - query: gql` - query { - user(id: "") { - id - username - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toEqual({ user: null }); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "", - ], - ], - ] - `); - }); - - it("gets current user, if logged in", async () => { - await logInAsTestUser(); - - const res = await query({ - query: gql` - query { - currentUser { - id - username - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "currentUser": Object { - "id": "44743", - "username": "dti-test", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "44743", - ], - ], - ] - `); - }); - - it("gets no user, if logged out", async () => { - const res = await query({ - query: gql` - query { - currentUser { - id - username - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toEqual({ currentUser: null }); - expect(getDbCalls()).toMatchInlineSnapshot(`Array []`); - }); - - it("gets private items they own for current user", async () => { - await logInAsTestUser(); - - const res = await query({ - query: gql` - query { - user(id: "44743") { - id - username - itemsTheyOwn { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "user": Object { - "id": "44743", - "itemsTheyOwn": Array [ - Object { - "id": "74967", - "name": "17th Birthday Party Hat", - }, - Object { - "id": "49026", - "name": "Abominable Snowman Hat", - }, - Object { - "id": "39948", - "name": "Altador Cup Background - Lost Desert", - }, - Object { - "id": "39955", - "name": "Altador Cup Background - Virtupets", - }, - Object { - "id": "40319", - "name": "Blue Jelly Tiara", - }, - ], - "username": "dti-test", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "44743", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "44743", - ], - ], - Array [ - "SELECT * FROM closet_lists - WHERE user_id IN (?) - ORDER BY name", - Array [ - "44743", - ], - ], - ] - `); - }); - - it("hides private items they own from other users", async () => { - const res = await query({ - query: gql` - query { - user(id: "44743") { - id - username - itemsTheyOwn { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "user": Object { - "id": "44743", - "itemsTheyOwn": Array [ - Object { - "id": "39955", - "name": "Altador Cup Background - Virtupets", - }, - ], - "username": "dti-test", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "44743", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "44743", - ], - ], - Array [ - "SELECT * FROM closet_lists - WHERE user_id IN (?) - ORDER BY name", - Array [ - "44743", - ], - ], - ] - `); - }); - - it("gets private items they want for current user", async () => { - await logInAsTestUser(); - - const res = await query({ - query: gql` - query { - user(id: "44743") { - id - username - itemsTheyWant { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "user": Object { - "id": "44743", - "itemsTheyWant": Array [ - Object { - "id": "39945", - "name": "Altador Cup Background - Haunted Woods", - }, - Object { - "id": "39956", - "name": "Altador Cup Background - Kreludor", - }, - Object { - "id": "39947", - "name": "Altador Cup Background - Shenkuu", - }, - ], - "username": "dti-test", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "44743", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "44743", - ], - ], - Array [ - "SELECT * FROM closet_lists - WHERE user_id IN (?) - ORDER BY name", - Array [ - "44743", - ], - ], - ] - `); - }); - - it("hides private items they want from other users", async () => { - const res = await query({ - query: gql` - query { - user(id: "44743") { - id - username - itemsTheyWant { - id - name - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchInlineSnapshot(` - Object { - "user": Object { - "id": "44743", - "itemsTheyWant": Array [ - Object { - "id": "39947", - "name": "Altador Cup Background - Shenkuu", - }, - ], - "username": "dti-test", - }, - } - `); - expect(getDbCalls()).toMatchInlineSnapshot(` - Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "44743", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "44743", - ], - ], - Array [ - "SELECT * FROM closet_lists - WHERE user_id IN (?) - ORDER BY name", - Array [ - "44743", - ], - ], - ] - `); - }); - - it("gets public closet lists, but not private, for other users", async () => { - const res = await query({ - query: gql` - query { - user(id: "44743") { - id - username - closetLists { - id - name - ownsOrWantsItems - isDefaultList - items { - id - name - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot("data"); - expect(getDbCalls()).toMatchSnapshot("db"); - }); - - it("gets public and private closet lists for current user", async () => { - await logInAsTestUser(); - - const res = await query({ - query: gql` - query { - user(id: "44743") { - id - username - closetLists { - id - name - ownsOrWantsItems - isDefaultList - items { - id - name - } - } - } - } - `, - }); - - expect(res).toHaveNoErrors(); - expect(res.data).toMatchSnapshot("data"); - expect(getDbCalls()).toMatchSnapshot("db"); - }); -}); diff --git a/src/server/query-tests/__snapshots__/Color.test.js.snap b/src/server/query-tests/__snapshots__/Color.test.js.snap deleted file mode 100644 index 85393d6..0000000 --- a/src/server/query-tests/__snapshots__/Color.test.js.snap +++ /dev/null @@ -1,568 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Color loads all colors 1`] = ` -Object { - "allColors": Array [ - Object { - "id": "1", - "isStandard": true, - "name": "Alien", - }, - Object { - "id": "2", - "isStandard": false, - "name": "Apple", - }, - Object { - "id": "3", - "isStandard": false, - "name": "Asparagus", - }, - Object { - "id": "4", - "isStandard": false, - "name": "Aubergine", - }, - Object { - "id": "5", - "isStandard": false, - "name": "Avocado", - }, - Object { - "id": "6", - "isStandard": false, - "name": "Baby", - }, - Object { - "id": "7", - "isStandard": true, - "name": "Biscuit", - }, - Object { - "id": "8", - "isStandard": true, - "name": "Blue", - }, - Object { - "id": "9", - "isStandard": false, - "name": "Blueberry", - }, - Object { - "id": "10", - "isStandard": true, - "name": "Brown", - }, - Object { - "id": "11", - "isStandard": true, - "name": "Camouflage", - }, - Object { - "id": "12", - "isStandard": false, - "name": "Carrot", - }, - Object { - "id": "13", - "isStandard": true, - "name": "Checkered", - }, - Object { - "id": "14", - "isStandard": true, - "name": "Chocolate", - }, - Object { - "id": "15", - "isStandard": false, - "name": "Chokato", - }, - Object { - "id": "16", - "isStandard": true, - "name": "Christmas", - }, - Object { - "id": "17", - "isStandard": true, - "name": "Clay", - }, - Object { - "id": "18", - "isStandard": true, - "name": "Cloud", - }, - Object { - "id": "19", - "isStandard": true, - "name": "Coconut", - }, - Object { - "id": "20", - "isStandard": true, - "name": "Custard", - }, - Object { - "id": "21", - "isStandard": true, - "name": "Darigan", - }, - Object { - "id": "22", - "isStandard": true, - "name": "Desert", - }, - Object { - "id": "23", - "isStandard": true, - "name": "Disco", - }, - Object { - "id": "24", - "isStandard": false, - "name": "Durian", - }, - Object { - "id": "25", - "isStandard": true, - "name": "Electric", - }, - Object { - "id": "26", - "isStandard": true, - "name": "Faerie", - }, - Object { - "id": "27", - "isStandard": true, - "name": "Fire", - }, - Object { - "id": "28", - "isStandard": true, - "name": "Garlic", - }, - Object { - "id": "29", - "isStandard": true, - "name": "Ghost", - }, - Object { - "id": "30", - "isStandard": true, - "name": "Glowing", - }, - Object { - "id": "31", - "isStandard": true, - "name": "Gold", - }, - Object { - "id": "32", - "isStandard": false, - "name": "Gooseberry", - }, - Object { - "id": "33", - "isStandard": false, - "name": "Grape", - }, - Object { - "id": "34", - "isStandard": true, - "name": "Green", - }, - Object { - "id": "35", - "isStandard": true, - "name": "Grey", - }, - Object { - "id": "36", - "isStandard": true, - "name": "Halloween", - }, - Object { - "id": "37", - "isStandard": true, - "name": "Ice", - }, - Object { - "id": "38", - "isStandard": true, - "name": "Invisible", - }, - Object { - "id": "39", - "isStandard": true, - "name": "Island", - }, - Object { - "id": "40", - "isStandard": true, - "name": "Jelly", - }, - Object { - "id": "41", - "isStandard": false, - "name": "Lemon", - }, - Object { - "id": "42", - "isStandard": false, - "name": "Lime", - }, - Object { - "id": "43", - "isStandard": true, - "name": "Mallow", - }, - Object { - "id": "44", - "isStandard": false, - "name": "Maraquan", - }, - Object { - "id": "45", - "isStandard": true, - "name": "Msp", - }, - Object { - "id": "46", - "isStandard": false, - "name": "Mutant", - }, - Object { - "id": "47", - "isStandard": false, - "name": "Orange", - }, - Object { - "id": "48", - "isStandard": false, - "name": "Pea", - }, - Object { - "id": "49", - "isStandard": false, - "name": "Peach", - }, - Object { - "id": "50", - "isStandard": false, - "name": "Pear", - }, - Object { - "id": "51", - "isStandard": false, - "name": "Pepper", - }, - Object { - "id": "52", - "isStandard": false, - "name": "Pineapple", - }, - Object { - "id": "53", - "isStandard": true, - "name": "Pink", - }, - Object { - "id": "54", - "isStandard": true, - "name": "Pirate", - }, - Object { - "id": "55", - "isStandard": false, - "name": "Plum", - }, - Object { - "id": "56", - "isStandard": true, - "name": "Plushie", - }, - Object { - "id": "57", - "isStandard": true, - "name": "Purple", - }, - Object { - "id": "58", - "isStandard": true, - "name": "Quigukiboy", - }, - Object { - "id": "59", - "isStandard": true, - "name": "Quigukigirl", - }, - Object { - "id": "60", - "isStandard": true, - "name": "Rainbow", - }, - Object { - "id": "61", - "isStandard": true, - "name": "Red", - }, - Object { - "id": "62", - "isStandard": true, - "name": "Robot", - }, - Object { - "id": "63", - "isStandard": true, - "name": "Royalboy", - }, - Object { - "id": "64", - "isStandard": true, - "name": "Royalgirl", - }, - Object { - "id": "65", - "isStandard": true, - "name": "Shadow", - }, - Object { - "id": "66", - "isStandard": true, - "name": "Silver", - }, - Object { - "id": "67", - "isStandard": true, - "name": "Sketch", - }, - Object { - "id": "68", - "isStandard": true, - "name": "Skunk", - }, - Object { - "id": "69", - "isStandard": true, - "name": "Snot", - }, - Object { - "id": "70", - "isStandard": true, - "name": "Snow", - }, - Object { - "id": "71", - "isStandard": true, - "name": "Speckled", - }, - Object { - "id": "72", - "isStandard": true, - "name": "Split", - }, - Object { - "id": "73", - "isStandard": true, - "name": "Sponge", - }, - Object { - "id": "74", - "isStandard": true, - "name": "Spotted", - }, - Object { - "id": "75", - "isStandard": true, - "name": "Starry", - }, - Object { - "id": "76", - "isStandard": true, - "name": "Strawberry", - }, - Object { - "id": "77", - "isStandard": true, - "name": "Striped", - }, - Object { - "id": "78", - "isStandard": false, - "name": "Thornberry", - }, - Object { - "id": "79", - "isStandard": false, - "name": "Tomato", - }, - Object { - "id": "80", - "isStandard": true, - "name": "Tyrannian", - }, - Object { - "id": "81", - "isStandard": true, - "name": "Usuki boy", - }, - Object { - "id": "82", - "isStandard": true, - "name": "Usuki girl", - }, - Object { - "id": "83", - "isStandard": true, - "name": "White", - }, - Object { - "id": "84", - "isStandard": true, - "name": "Yellow", - }, - Object { - "id": "85", - "isStandard": true, - "name": "Zombie", - }, - Object { - "id": "86", - "isStandard": false, - "name": "Onion", - }, - Object { - "id": "87", - "isStandard": true, - "name": "Magma", - }, - Object { - "id": "88", - "isStandard": true, - "name": "Relic", - }, - Object { - "id": "89", - "isStandard": true, - "name": "Woodland", - }, - Object { - "id": "90", - "isStandard": true, - "name": "Transparent", - }, - Object { - "id": "91", - "isStandard": true, - "name": "Maractite", - }, - Object { - "id": "92", - "isStandard": false, - "name": "8-bit", - }, - Object { - "id": "93", - "isStandard": true, - "name": "Swamp gas", - }, - Object { - "id": "94", - "isStandard": true, - "name": "Water", - }, - Object { - "id": "95", - "isStandard": true, - "name": "Wraith", - }, - Object { - "id": "96", - "isStandard": true, - "name": "Eventide", - }, - Object { - "id": "97", - "isStandard": true, - "name": "Elderlyboy", - }, - Object { - "id": "98", - "isStandard": true, - "name": "Elderlygirl", - }, - Object { - "id": "99", - "isStandard": true, - "name": "Stealthy", - }, - Object { - "id": "100", - "isStandard": true, - "name": "Dimensional", - }, - Object { - "id": "101", - "isStandard": false, - "name": "Agueena", - }, - Object { - "id": "102", - "isStandard": true, - "name": "Pastel", - }, - Object { - "id": "103", - "isStandard": true, - "name": "Ummagine", - }, - Object { - "id": "104", - "isStandard": true, - "name": "Polka Dot", - }, - Object { - "id": "105", - "isStandard": true, - "name": "Candy", - }, - Object { - "id": "106", - "isStandard": true, - "name": "Marble", - }, - Object { - "id": "107", - "isStandard": true, - "name": "Steampunk", - }, - Object { - "id": "108", - "isStandard": true, - "name": "Toy", - }, - Object { - "id": "109", - "isStandard": true, - "name": "Origami", - }, - Object { - "id": "110", - "isStandard": true, - "name": "Oil Paint", - }, - Object { - "id": "111", - "isStandard": true, - "name": "Mosaic", - }, - Object { - "id": "112", - "isStandard": true, - "name": "Burlap", - }, - ], -} -`; diff --git a/src/server/query-tests/__snapshots__/Item.test.js.snap b/src/server/query-tests/__snapshots__/Item.test.js.snap deleted file mode 100644 index 51fb1fa..0000000 --- a/src/server/query-tests/__snapshots__/Item.test.js.snap +++ /dev/null @@ -1,7413 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Item adds new item to items current user owns: db 1`] = ` -Array [ - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], -] -`; - -exports[`Item adds new item to items current user wants: db 1`] = ` -Array [ - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], -] -`; - -exports[`Item does not add duplicates when user already owns item: db 1`] = ` -Array [ - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM closet_lists - WHERE user_id IN (?) - ORDER BY name", - Array [ - "1", - ], - ], -] -`; - -exports[`Item does not add duplicates when user already wants item: db 1`] = ` -Array [ - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM closet_lists - WHERE user_id IN (?) - ORDER BY name", - Array [ - "1", - ], - ], -] -`; - -exports[`Item does nothing when removing an item we don't own: db 1`] = ` -Array [ - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], -] -`; - -exports[`Item does nothing when removing an item we don't want: db 1`] = ` -Array [ - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], -] -`; - -exports[`Item loads appearance data 1`] = ` -Object { - "items": Array [ - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "canvasMovieLibraryUrl": null, - "id": "37128", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/object/000/000/014/14856/600x600.png?v2-1577836800000", - "remoteId": "14856", - "svgUrl": null, - "zone": Object { - "depth": 30, - "id": "26", - "label": "Jacket", - }, - }, - ], - "restrictedZones": Array [ - Object { - "id": "20", - }, - Object { - "id": "22", - }, - ], - }, - "id": "38912", - "name": "Zafara Agent Robe", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "canvasMovieLibraryUrl": null, - "id": "37129", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/object/000/000/014/14857/600x600.png?v2-1577836800000", - "remoteId": "14857", - "svgUrl": null, - "zone": Object { - "depth": 44, - "id": "40", - "label": "Hat", - }, - }, - ], - "restrictedZones": Array [ - Object { - "id": "37", - }, - Object { - "id": "38", - }, - ], - }, - "id": "38911", - "name": "Zafara Agent Hood", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "canvasMovieLibraryUrl": null, - "id": "30203", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/object/000/000/006/6829/600x600.png?v2-1577836800000", - "remoteId": "6829", - "svgUrl": null, - "zone": Object { - "depth": 3, - "id": "3", - "label": "Background", - }, - }, - ], - "restrictedZones": Array [], - }, - "id": "37375", - "name": "Moon and Stars Background", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "canvasMovieLibraryUrl": "http://images.neopets.com/cp/items/data/000/000/564/564507_fc3216b9b8/all-item_foreground_lower.js", - "id": "468155", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/object/000/000/564/564507/600x600.png?v2-1577836800000", - "remoteId": "564507", - "svgUrl": null, - "zone": Object { - "depth": 50, - "id": "45", - "label": "Lower Foreground Item", - }, - }, - ], - "restrictedZones": Array [], - }, - "id": "78244", - "name": "Bubbles on Water Foreground", - }, - ], -} -`; - -exports[`Item loads canonical appearance for all-species Maraquan item: db 1`] = ` -Array [ - Array [ - "SELECT pet_types.body_id, pet_types.species_id, items.id AS item_id - FROM items - INNER JOIN parents_swf_assets ON - items.id = parents_swf_assets.parent_id AND - parents_swf_assets.parent_type = \\"Item\\" - INNER JOIN swf_assets ON - parents_swf_assets.swf_asset_id = swf_assets.id - INNER JOIN pet_types ON - pet_types.body_id = swf_assets.body_id OR swf_assets.body_id = 0 - INNER JOIN colors ON - pet_types.color_id = colors.id - WHERE items.id IN (?) - GROUP BY pet_types.body_id - ORDER BY - pet_types.species_id, - colors.standard DESC", - Array [ - "77530", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "77530", - "112", - ], - ], - Array [ - Object { - "nestTables": true, - "sql": " - SELECT pet_states.*, pet_types.* FROM pet_states - INNER JOIN pet_types ON pet_types.id = pet_states.pet_type_id - WHERE pet_types.body_id = ? - ORDER BY - pet_types.color_id = 8 DESC, -- Prefer Blue - pet_states.mood_id = 1 DESC, -- Prefer Happy - pet_states.female = ? DESC, -- Prefer given gender - pet_states.id DESC, -- Prefer recent models (like in the app) - pet_states.glitched ASC -- Prefer not glitched (like in the app) - LIMIT 1", - "values": Array [ - "112", - false, - ], - }, - Array [ - "112", - false, - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"PetState\\" AND - rel.swf_asset_id = sa.id - WHERE rel.parent_id IN (?)", - Array [ - "5233", - ], - ], - Array [ - "SELECT * FROM color_translations - WHERE color_id IN (?) AND locale = \\"en\\"", - Array [ - "44", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "1", - ], - ], -] -`; - -exports[`Item loads canonical appearance for all-species Maraquan item: item layers 1`] = ` -Array [ - Object { - "id": "442864", - }, -] -`; - -exports[`Item loads canonical appearance for all-species Maraquan item: pet layers 1`] = ` -Array [ - Object { - "id": "2652", - }, - Object { - "id": "2653", - }, - Object { - "id": "2654", - }, - Object { - "id": "2656", - }, - Object { - "id": "2663", - }, -] -`; - -exports[`Item loads canonical appearance for all-species item: db 1`] = ` -Array [ - Array [ - "SELECT pet_types.body_id, pet_types.species_id, items.id AS item_id - FROM items - INNER JOIN parents_swf_assets ON - items.id = parents_swf_assets.parent_id AND - parents_swf_assets.parent_type = \\"Item\\" - INNER JOIN swf_assets ON - parents_swf_assets.swf_asset_id = swf_assets.id - INNER JOIN pet_types ON - pet_types.body_id = swf_assets.body_id OR swf_assets.body_id = 0 - INNER JOIN colors ON - pet_types.color_id = colors.id - WHERE items.id IN (?) - GROUP BY pet_types.body_id - ORDER BY - pet_types.species_id, - colors.standard DESC", - Array [ - "74967", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "74967", - "93", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "1", - ], - ], - Array [ - Object { - "nestTables": true, - "sql": " - SELECT pet_states.*, pet_types.* FROM pet_states - INNER JOIN pet_types ON pet_types.id = pet_states.pet_type_id - WHERE pet_types.body_id = ? - ORDER BY - pet_types.color_id = 8 DESC, -- Prefer Blue - pet_states.mood_id = 1 DESC, -- Prefer Happy - pet_states.female = ? DESC, -- Prefer given gender - pet_states.id DESC, -- Prefer recent models (like in the app) - pet_states.glitched ASC -- Prefer not glitched (like in the app) - LIMIT 1", - "values": Array [ - "93", - true, - ], - }, - Array [ - "93", - true, - ], - ], -] -`; - -exports[`Item loads canonical appearance for all-species item: item layers 1`] = ` -Array [ - Object { - "id": "395679", - }, -] -`; - -exports[`Item loads canonical appearance for all-species item: pet layers 1`] = ` -Object { - "id": "5161", -} -`; - -exports[`Item loads canonical appearance for bodyId=0 item: db 1`] = ` -Array [ - Array [ - "SELECT pet_types.body_id, pet_types.species_id, items.id AS item_id - FROM items - INNER JOIN parents_swf_assets ON - items.id = parents_swf_assets.parent_id AND - parents_swf_assets.parent_type = \\"Item\\" - INNER JOIN swf_assets ON - parents_swf_assets.swf_asset_id = swf_assets.id - INNER JOIN pet_types ON - pet_types.body_id = swf_assets.body_id OR swf_assets.body_id = 0 - INNER JOIN colors ON - pet_types.color_id = colors.id - WHERE items.id IN (?) - GROUP BY pet_types.body_id - ORDER BY - pet_types.species_id, - colors.standard DESC", - Array [ - "37375", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "37375", - "93", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "1", - ], - ], - Array [ - Object { - "nestTables": true, - "sql": " - SELECT pet_states.*, pet_types.* FROM pet_states - INNER JOIN pet_types ON pet_types.id = pet_states.pet_type_id - WHERE pet_types.body_id = ? - ORDER BY - pet_types.color_id = 8 DESC, -- Prefer Blue - pet_states.mood_id = 1 DESC, -- Prefer Happy - pet_states.female = ? DESC, -- Prefer given gender - pet_states.id DESC, -- Prefer recent models (like in the app) - pet_states.glitched ASC -- Prefer not glitched (like in the app) - LIMIT 1", - "values": Array [ - "93", - true, - ], - }, - Array [ - "93", - true, - ], - ], -] -`; - -exports[`Item loads canonical appearance for bodyId=0 item: item layers 1`] = ` -Array [ - Object { - "id": "30203", - }, -] -`; - -exports[`Item loads canonical appearance for bodyId=0 item: pet layers 1`] = ` -Object { - "id": "5161", -} -`; - -exports[`Item loads canonical appearance for single-species item: db 1`] = ` -Array [ - Array [ - "SELECT pet_types.body_id, pet_types.species_id, items.id AS item_id - FROM items - INNER JOIN parents_swf_assets ON - items.id = parents_swf_assets.parent_id AND - parents_swf_assets.parent_type = \\"Item\\" - INNER JOIN swf_assets ON - parents_swf_assets.swf_asset_id = swf_assets.id - INNER JOIN pet_types ON - pet_types.body_id = swf_assets.body_id OR swf_assets.body_id = 0 - INNER JOIN colors ON - pet_types.color_id = colors.id - WHERE items.id IN (?) - GROUP BY pet_types.body_id - ORDER BY - pet_types.species_id, - colors.standard DESC", - Array [ - "38911", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "38911", - "180", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?) AND locale = \\"en\\"", - Array [ - "54", - ], - ], - Array [ - Object { - "nestTables": true, - "sql": " - SELECT pet_states.*, pet_types.* FROM pet_states - INNER JOIN pet_types ON pet_types.id = pet_states.pet_type_id - WHERE pet_types.body_id = ? - ORDER BY - pet_types.color_id = 8 DESC, -- Prefer Blue - pet_states.mood_id = 1 DESC, -- Prefer Happy - pet_states.female = ? DESC, -- Prefer given gender - pet_states.id DESC, -- Prefer recent models (like in the app) - pet_states.glitched ASC -- Prefer not glitched (like in the app) - LIMIT 1", - "values": Array [ - "180", - false, - ], - }, - Array [ - "180", - false, - ], - ], -] -`; - -exports[`Item loads canonical appearance for single-species item: item layers 1`] = ` -Array [ - Object { - "id": "37129", - }, -] -`; - -exports[`Item loads canonical appearance for single-species item: pet layers 1`] = ` -Object { - "id": "17861", -} -`; - -exports[`Item loads items by name: data 1`] = ` -Object { - "itemByName": Object { - "id": "37375", - "name": "Moon and Stars Background", - "thumbnailUrl": "http://images.neopets.com/items/bg_moonstars.gif", - }, - "itemsByName": Array [ - Object { - "id": "38912", - "name": "Zafara Agent Robe", - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_robe.gif", - }, - Object { - "id": "18579", - "name": "Pile of Dung", - "thumbnailUrl": "http://images.neopets.com/items/med_booby_5.gif", - }, - null, - ], - "notFoundItem": null, -} -`; - -exports[`Item loads items by name: db 1`] = ` -Array [ - Array [ - Object { - "nestTables": true, - "sql": "SELECT items.*, item_translations.* FROM item_translations - INNER JOIN items ON items.id = item_translations.item_id - WHERE name IN (?, ?, ?, ?) AND locale = \\"en\\"", - "values": Array [ - "moon and stars background", - "?! fake name", - "zafara agent robe", - "pile of dung", - ], - }, - Array [ - "moon and stars background", - "?! fake name", - "zafara agent robe", - "pile of dung", - ], - ], -] -`; - -exports[`Item loads items that need models 1`] = ` -Object { - "babyItems": Array [ - Object { - "id": "72260", - "name": "Baby Bun with Heart Headband", - "speciesThatNeedModels": Array [ - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81136", - "name": "Baby Blue Fabric Dress", - "speciesThatNeedModels": Array [ - Object { - "id": "28", - "name": "Krawk", - }, - ], - }, - Object { - "id": "81515", - "name": "Dyeworks Orange: Baby Polka Dot Dress", - "speciesThatNeedModels": Array [ - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "38", - "name": "Peophin", - }, - ], - }, - Object { - "id": "81516", - "name": "Dyeworks Green: Baby Polka Dot Dress", - "speciesThatNeedModels": Array [ - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "38", - "name": "Peophin", - }, - ], - }, - Object { - "id": "81517", - "name": "Dyeworks Blue: Baby Polka Dot Dress", - "speciesThatNeedModels": Array [ - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "38", - "name": "Peophin", - }, - ], - }, - Object { - "id": "81698", - "name": "Baby Pumpkin Costume", - "speciesThatNeedModels": Array [ - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "34", - "name": "Moehog", - }, - ], - }, - Object { - "id": "81777", - "name": "Dyeworks Cream: Cosy Baby Onesie", - "speciesThatNeedModels": Array [ - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - ], - }, - Object { - "id": "81778", - "name": "Dyeworks Pink: Cosy Baby Onesie", - "speciesThatNeedModels": Array [ - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "53", - "name": "Yurble", - }, - ], - }, - Object { - "id": "81779", - "name": "Dyeworks Black: Cosy Baby Onesie", - "speciesThatNeedModels": Array [ - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - ], - "maraquanItems": Array [ - Object { - "id": "81137", - "name": "Maraquan Ocean Blue Contacts", - "speciesThatNeedModels": Array [ - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81287", - "name": "Maraquan White Lace Gown", - "speciesThatNeedModels": Array [ - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81512", - "name": "Dyeworks Pink: Maraquan Sea Blue Gown", - "speciesThatNeedModels": Array [ - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81513", - "name": "Dyeworks Lavender: Maraquan Sea Blue Gown", - "speciesThatNeedModels": Array [ - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81514", - "name": "Dyeworks Silver: Maraquan Sea Blue Gown", - "speciesThatNeedModels": Array [ - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81546", - "name": "Underwater Maraquan Markings", - "speciesThatNeedModels": Array [ - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81795", - "name": "Dyeworks Purple: Maraquan Wig with Negg Accessory", - "speciesThatNeedModels": Array [ - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81796", - "name": "Dyeworks Green: Maraquan Wig with Negg Accessory", - "speciesThatNeedModels": Array [ - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81797", - "name": "Dyeworks Aquamarine: Maraquan Wig with Negg Accessory", - "speciesThatNeedModels": Array [ - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - ], - "mutantItems": Array [ - Object { - "id": "81789", - "name": "Dyeworks Purple: Fall Mutant Flannel", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "81790", - "name": "Dyeworks Red: Fall Mutant Flannel", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "81791", - "name": "Dyeworks Blue: Fall Mutant Flannel", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - ], - "standardItems": Array [ - Object { - "id": "36907", - "name": "Slushie Slinger Drinking Cap", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "42448", - "name": "Blue Acara Kite", - "speciesThatNeedModels": Array [ - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "42544", - "name": "Red Bruce Star Balloon With Screen", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - ], - }, - Object { - "id": "47830", - "name": "Y12 Celebration Glasses", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "50669", - "name": "MME6-S6: Trapped in a Bubble Foreground", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "50670", - "name": "MME6-S6: Trapped in a Bubble Foreground", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "50671", - "name": "MME6-S6: Trapped in a Bubble Foreground", - "speciesThatNeedModels": Array [ - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "50672", - "name": "MME6-S6: Trapped in a Bubble Foreground", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "51646", - "name": "Spiced Pastry Hat", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "51651", - "name": "First Place Sash", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - ], - }, - Object { - "id": "51653", - "name": "Third Place Sash", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "51654", - "name": "Silver Rose Sceptre", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "51655", - "name": "First Place Crown", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "58285", - "name": "MiniMME7-S2: Sweet Honeycomb Wings", - "speciesThatNeedModels": Array [ - Object { - "id": "35", - "name": "Mynci", - }, - ], - }, - Object { - "id": "62939", - "name": "MME12-S4b: Orchestra Pit Foreground", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "64195", - "name": "Ninja Shadow Attack", - "speciesThatNeedModels": Array [ - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "45", - "name": "Skeith", - }, - ], - }, - Object { - "id": "64387", - "name": "MME13-S4c: Home Sweet Bog Background", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "67237", - "name": "Winter Lights Effect", - "speciesThatNeedModels": Array [ - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "38", - "name": "Peophin", - }, - ], - }, - Object { - "id": "69311", - "name": "MME17-S4a: Snow-Covered Balustrade Foreground", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "70843", - "name": "MiniMME18-S2c: Holomorphic Foliage and Dandan Set", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "71937", - "name": "MME20-S5: Melted Snowman Trinket", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "71938", - "name": "MME20-S5: Melted Snowman Trinket", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "73707", - "name": "MME21-S5: Crystal Candles Foreground", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "20", - "name": "Jetsam", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "73708", - "name": "MME21-S5: Crystal Candles Foreground", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "73724", - "name": "MME21-B: Crystal Eye Contacts", - "speciesThatNeedModels": Array [ - Object { - "id": "7", - "name": "Chia", - }, - ], - }, - Object { - "id": "74260", - "name": "Dyeworks Green: Rainy Day Umbrella", - "speciesThatNeedModels": Array [ - Object { - "id": "38", - "name": "Peophin", - }, - ], - }, - Object { - "id": "76108", - "name": "MME22-S5: Trapped Rose Trinket", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "76109", - "name": "MME22-S5: Trapped Rose Trinket", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "28", - "name": "Krawk", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "77441", - "name": "MME23-S5a:Baking Display of Happiness", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "77442", - "name": "MME23-S5b: Nourishment Station", - "speciesThatNeedModels": Array [ - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "44", - "name": "Shoyru", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "53", - "name": "Yurble", - }, - ], - }, - Object { - "id": "78813", - "name": "Fanged Mutant Veil", - "speciesThatNeedModels": Array [ - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "30", - "name": "Lenny", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "53", - "name": "Yurble", - }, - ], - }, - Object { - "id": "81144", - "name": "MME25-S5a: Storage Gear Trinket", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "3", - "name": "Blumaroo", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "50", - "name": "Usul", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - Object { - "id": "55", - "name": "Vandagyre", - }, - ], - }, - Object { - "id": "81145", - "name": "MME25-S5b: Moltaran Magma Chandelier", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "2", - "name": "Aisha", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "5", - "name": "Bruce", - }, - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "7", - "name": "Chia", - }, - Object { - "id": "8", - "name": "Chomby", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "10", - "name": "Draik", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "13", - "name": "Flotsam", - }, - Object { - "id": "14", - "name": "Gelert", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "16", - "name": "Grarrl", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "18", - "name": "Hissi", - }, - Object { - "id": "19", - "name": "Ixi", - }, - Object { - "id": "21", - "name": "Jubjub", - }, - Object { - "id": "22", - "name": "Kacheek", - }, - Object { - "id": "23", - "name": "Kau", - }, - Object { - "id": "24", - "name": "Kiko", - }, - Object { - "id": "25", - "name": "Koi", - }, - Object { - "id": "26", - "name": "Korbat", - }, - Object { - "id": "27", - "name": "Kougra", - }, - Object { - "id": "29", - "name": "Kyrii", - }, - Object { - "id": "31", - "name": "Lupe", - }, - Object { - "id": "32", - "name": "Lutari", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "34", - "name": "Moehog", - }, - Object { - "id": "35", - "name": "Mynci", - }, - Object { - "id": "36", - "name": "Nimmo", - }, - Object { - "id": "37", - "name": "Ogrin", - }, - Object { - "id": "38", - "name": "Peophin", - }, - Object { - "id": "39", - "name": "Poogle", - }, - Object { - "id": "40", - "name": "Pteri", - }, - Object { - "id": "41", - "name": "Quiggle", - }, - Object { - "id": "42", - "name": "Ruki", - }, - Object { - "id": "43", - "name": "Scorchio", - }, - Object { - "id": "45", - "name": "Skeith", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "47", - "name": "Tonu", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "49", - "name": "Uni", - }, - Object { - "id": "51", - "name": "Wocky", - }, - Object { - "id": "53", - "name": "Yurble", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "81229", - "name": "Terror Mountain Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81230", - "name": "Virtupets Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81232", - "name": "Kreludor Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81233", - "name": "Krawk Island Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81234", - "name": "Meridell Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81237", - "name": "Roo Island Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81238", - "name": "Mystery Island Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81240", - "name": "Kiko Lake Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81241", - "name": "Tyrannia Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81242", - "name": "Shenkuu Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81243", - "name": "Haunted Woods Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81245", - "name": "Moltara Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81246", - "name": "Faerieland Team Sparklers", - "speciesThatNeedModels": Array [ - Object { - "id": "32", - "name": "Lutari", - }, - ], - }, - Object { - "id": "81697", - "name": "Red Velvet Glamour Gown", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - ], - }, - Object { - "id": "81708", - "name": "Constellation Dress", - "speciesThatNeedModels": Array [ - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "12", - "name": "Eyrie", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - ], - }, - Object { - "id": "81709", - "name": "Holographic Faerie Boots", - "speciesThatNeedModels": Array [ - Object { - "id": "1", - "name": "Acara", - }, - Object { - "id": "4", - "name": "Bori", - }, - Object { - "id": "9", - "name": "Cybunny", - }, - Object { - "id": "15", - "name": "Gnorbu", - }, - Object { - "id": "17", - "name": "Grundo", - }, - Object { - "id": "33", - "name": "Meerca", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - Object { - "id": "81783", - "name": "Dyeworks Blue: Decorated Witch Hat and Wig", - "speciesThatNeedModels": Array [ - Object { - "id": "26", - "name": "Korbat", - }, - ], - }, - Object { - "id": "81785", - "name": "Dyeworks Grey: Decorated Witch Hat and Wig", - "speciesThatNeedModels": Array [ - Object { - "id": "5", - "name": "Bruce", - }, - ], - }, - Object { - "id": "81792", - "name": "Dyeworks Blue & Purple: MiniMME18-S2a: Galactic Traveller Wig", - "speciesThatNeedModels": Array [ - Object { - "id": "6", - "name": "Buzz", - }, - Object { - "id": "11", - "name": "Elephante", - }, - Object { - "id": "46", - "name": "Techo", - }, - Object { - "id": "48", - "name": "Tuskaninny", - }, - Object { - "id": "52", - "name": "Xweetok", - }, - Object { - "id": "54", - "name": "Zafara", - }, - ], - }, - ], -} -`; - -exports[`Item loads items that need models 2`] = ` -Array [ - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "36907", - "42448", - "42544", - "47830", - "50669", - "50670", - "50671", - "50672", - "51646", - "51651", - "51653", - "51654", - "51655", - "58285", - "62939", - "64195", - "64387", - "67237", - "69311", - "70843", - "71937", - "71938", - "73707", - "73708", - "73724", - "74260", - "76108", - "76109", - "77441", - "77442", - "78813", - "81144", - "81145", - "81229", - "81230", - "81232", - "81233", - "81234", - "81237", - "81238", - "81240", - "81241", - "81242", - "81243", - "81245", - "81246", - "81697", - "81708", - "81709", - "81783", - "81785", - "81792", - "72260", - "81136", - "81515", - "81516", - "81517", - "81698", - "81777", - "81778", - "81779", - "81137", - "81287", - "81512", - "81513", - "81514", - "81546", - "81795", - "81796", - "81797", - "81789", - "81790", - "81791", - ], - ], - Array [ - "SELECT * FROM species_translations - WHERE species_id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "1", - "4", - "5", - "6", - "7", - "8", - "11", - "12", - "15", - "16", - "17", - "19", - "20", - "21", - "22", - "23", - "24", - "26", - "27", - "30", - "32", - "34", - "36", - "39", - "40", - "42", - "44", - "47", - "48", - "49", - "50", - "54", - "2", - "13", - "14", - "25", - "29", - "37", - "38", - "43", - "45", - "46", - "51", - "52", - "53", - "3", - "9", - "31", - "41", - "10", - "18", - "28", - "35", - "33", - "55", - ], - ], -] -`; - -exports[`Item loads metadata 1`] = ` -Object { - "items": Array [ - Object { - "allOccupiedZones": Array [ - Object { - "label": "Gloves", - }, - ], - "createdAt": null, - "description": "Dont leave any trace that you were there with these gloves.", - "explicitlyBodySpecific": false, - "id": "38913", - "isNc": false, - "isPb": false, - "manualSpecialColor": null, - "name": "Zafara Agent Gloves", - "rarityIndex": 88, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_gloves.gif", - }, - Object { - "allOccupiedZones": Array [ - Object { - "label": "Hat", - }, - ], - "createdAt": null, - "description": "Hide your face and hair so no one can recognise you.", - "explicitlyBodySpecific": false, - "id": "38911", - "isNc": false, - "isPb": false, - "manualSpecialColor": null, - "name": "Zafara Agent Hood", - "rarityIndex": 92, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_hood.gif", - }, - Object { - "allOccupiedZones": Array [ - Object { - "label": "Jacket", - }, - ], - "createdAt": null, - "description": "This robe is great for being stealthy.", - "explicitlyBodySpecific": false, - "id": "38912", - "isNc": false, - "isPb": false, - "manualSpecialColor": null, - "name": "Zafara Agent Robe", - "rarityIndex": 90, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_robe.gif", - }, - Object { - "allOccupiedZones": Array [ - Object { - "label": "Static", - }, - ], - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "Maybe youll be discovered by some Neopets from the future and thawed out!", - "explicitlyBodySpecific": true, - "id": "55788", - "isNc": true, - "isPb": false, - "manualSpecialColor": null, - "name": "Encased in Ice", - "rarityIndex": 500, - "thumbnailUrl": "http://images.neopets.com/items/mall_petinice.gif", - }, - Object { - "allOccupiedZones": Array [ - Object { - "label": "Shirt/Dress", - }, - ], - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "This item is part of a deluxe paint brush set!", - "explicitlyBodySpecific": false, - "id": "60671", - "isNc": false, - "isPb": true, - "manualSpecialColor": null, - "name": "8-Bit Aisha Shirt", - "rarityIndex": 101, - "thumbnailUrl": "http://images.neopets.com/items/clo_8-bit_aisha_shirt.gif", - }, - Object { - "allOccupiedZones": Array [ - Object { - "label": "Shirt/Dress", - }, - ], - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "Made with the finest jewels of the sea!", - "explicitlyBodySpecific": false, - "id": "77530", - "isNc": true, - "isPb": false, - "manualSpecialColor": Object { - "id": "44", - "name": "Maraquan", - }, - "name": "Maraquan Sea Blue Gown", - "rarityIndex": 500, - "thumbnailUrl": "http://images.neopets.com/items/mall_clo_marabluegown.gif", - }, - Object { - "allOccupiedZones": Array [ - Object { - "label": "Background", - }, - ], - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "You truly are the number one fan of Altador Cup, and your room reflects this!", - "explicitlyBodySpecific": false, - "id": "78104", - "isNc": true, - "isPb": false, - "manualSpecialColor": null, - "name": "#1 Fan Room Background", - "rarityIndex": 500, - "thumbnailUrl": "http://images.neopets.com/items/mall_bg_numberonefanbg.gif", - }, - ], -} -`; - -exports[`Item removes item from items user owns: db 1`] = ` -Array [ - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], -] -`; - -exports[`Item removes item from items user wants: db 1`] = ` -Array [ - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "1", - ], - ], -] -`; - -exports[`Item skips appearance data for audio assets 1`] = ` -Object { - "items": Array [ - Object { - "appearanceOn": Object { - "layers": Array [], - "restrictedZones": Array [], - }, - "id": "42829", - "name": "Time Tunnel Music Track", - }, - ], -} -`; diff --git a/src/server/query-tests/__snapshots__/ItemSearch.test.js.snap b/src/server/query-tests/__snapshots__/ItemSearch.test.js.snap deleted file mode 100644 index 0bdbe49..0000000 --- a/src/server/query-tests/__snapshots__/ItemSearch.test.js.snap +++ /dev/null @@ -1,314 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`ItemSearch loads Neopian Times items 1`] = ` -Object { - "itemSearch": Object { - "items": Array [ - Object { - "id": "40431", - "name": "Neopian Times Background", - }, - Object { - "id": "59391", - "name": "Neopian Times Eyrie Hat", - }, - Object { - "id": "59392", - "name": "Neopian Times Eyrie Shirt and Vest", - }, - Object { - "id": "59394", - "name": "Neopian Times Eyrie Shoes", - }, - Object { - "id": "59393", - "name": "Neopian Times Eyrie Trousers", - }, - Object { - "id": "59390", - "name": "Neopian Times Eyries Paper", - }, - Object { - "id": "51098", - "name": "Neopian Times Writing Quill", - }, - Object { - "id": "61101", - "name": "Neopian Times Zafara Handkerchief", - }, - Object { - "id": "61100", - "name": "Neopian Times Zafara Hat", - }, - Object { - "id": "61102", - "name": "Neopian Times Zafara Shirt and Vest", - }, - Object { - "id": "61104", - "name": "Neopian Times Zafara Shoes", - }, - Object { - "id": "61103", - "name": "Neopian Times Zafara Trousers", - }, - ], - "query": "Neopian Times", - }, -} -`; - -exports[`ItemSearch loads Neopian Times items that fit the Starry Zafara 1`] = ` -Object { - "itemSearchToFit": Object { - "items": Array [ - Object { - "id": "40431", - "name": "Neopian Times Background", - }, - Object { - "id": "51098", - "name": "Neopian Times Writing Quill", - }, - Object { - "id": "61101", - "name": "Neopian Times Zafara Handkerchief", - }, - Object { - "id": "61100", - "name": "Neopian Times Zafara Hat", - }, - Object { - "id": "61102", - "name": "Neopian Times Zafara Shirt and Vest", - }, - Object { - "id": "61104", - "name": "Neopian Times Zafara Shoes", - }, - Object { - "id": "61103", - "name": "Neopian Times Zafara Trousers", - }, - ], - "query": "Neopian Times", - }, -} -`; - -exports[`ItemSearch loads Neopian Times items that fit the Starry Zafara 5`] = ` -Object { - "itemSearchToFit": Object { - "items": Array [ - Object { - "id": "40431", - "name": "Neopian Times Background", - }, - Object { - "id": "51098", - "name": "Neopian Times Writing Quill", - }, - Object { - "id": "61101", - "name": "Neopian Times Zafara Handkerchief", - }, - Object { - "id": "61100", - "name": "Neopian Times Zafara Hat", - }, - Object { - "id": "61102", - "name": "Neopian Times Zafara Shirt and Vest", - }, - Object { - "id": "61104", - "name": "Neopian Times Zafara Shoes", - }, - Object { - "id": "61103", - "name": "Neopian Times Zafara Trousers", - }, - ], - "query": "Neopian Times", - }, -} -`; - -exports[`ItemSearch loads the first 10 hats that fit the Starry Zafara 1`] = ` -Object { - "itemSearchToFit": Object { - "items": Array [ - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "395669", - }, - ], - }, - "id": "74967", - "name": "17th Birthday Party Hat", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "79262", - }, - ], - }, - "id": "49026", - "name": "Abominable Snowman Hat", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "248670", - }, - Object { - "id": "248671", - }, - ], - }, - "id": "67242", - "name": "Accessories Shop Wig and Hat", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "207062", - }, - ], - }, - "id": "64177", - "name": "Acorn Hat", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "293566", - }, - Object { - "id": "293567", - }, - ], - }, - "id": "69995", - "name": "Adventure in Pastel Hat and Wig", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "186927", - }, - ], - }, - "id": "62375", - "name": "Altador Cup Trophy Hat", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "392019", - }, - ], - }, - "id": "56654", - "name": "Altador Team Hat", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "201066", - }, - ], - }, - "id": "62322", - "name": "Altador Team Jester Hat", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "144021", - }, - ], - }, - "id": "58733", - "name": "Apple Bobbing Bart Hat", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "495043", - }, - Object { - "id": "495044", - }, - ], - }, - "id": "80401", - "name": "Aurricks Finest Hat", - }, - ], - "query": "hat", - }, -} -`; - -exports[`ItemSearch loads the next 10 hats that fit the Starry Zafara 1`] = ` -Object { - "itemSearchToFit": Object { - "items": Array [ - Object { - "id": "50168", - "name": "Babaa Hat", - }, - Object { - "id": "78311", - "name": "Backwards Hat and Wig", - }, - Object { - "id": "66653", - "name": "Bagel Hat Wig", - }, - Object { - "id": "51366", - "name": "Balloon Sculpture Hat", - }, - Object { - "id": "66236", - "name": "Banker Hat and Wig", - }, - Object { - "id": "52733", - "name": "Battlefield Legends Hat", - }, - Object { - "id": "57617", - "name": "Big Black Lace Pirate Hat", - }, - Object { - "id": "44451", - "name": "Big Fuzzy Hat", - }, - Object { - "id": "58318", - "name": "Bigsby Shadingtons Hat", - }, - Object { - "id": "39883", - "name": "Bird Nest Hat", - }, - ], - "query": "hat", - }, -} -`; diff --git a/src/server/query-tests/__snapshots__/Outfit.test.js.snap b/src/server/query-tests/__snapshots__/Outfit.test.js.snap deleted file mode 100644 index d1d4888..0000000 --- a/src/server/query-tests/__snapshots__/Outfit.test.js.snap +++ /dev/null @@ -1,70 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Outfit loads an outfit by ID 1`] = ` -Object { - "outfit": Object { - "closetedItems": Array [ - Object { - "id": "36125", - "name": "Blue Newsboy Hat", - }, - Object { - "id": "36467", - "name": "Daring Adventurer Hat", - }, - Object { - "id": "47075", - "name": "Jordies Adventure Hat", - }, - Object { - "id": "47056", - "name": "Moltara Inventor Hat and Goggles", - }, - Object { - "id": "39662", - "name": "Simple Sun Hat", - }, - Object { - "id": "56706", - "name": "Super Sleuth Hat and Wig", - }, - Object { - "id": "38915", - "name": "Zafara Tourist Shirt", - }, - Object { - "id": "56398", - "name": "Altador Cup Kreludor Frame", - }, - ], - "id": "31856", - "name": "Zafara Tourist", - "petAppearance": Object { - "color": Object { - "id": "34", - "name": "Green", - }, - "id": "3951", - "pose": "UNKNOWN", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - "wornItems": Array [ - Object { - "id": "38916", - "name": "Zafara Tourist Camera", - }, - Object { - "id": "51054", - "name": "Summer Fun Beach Background", - }, - Object { - "id": "38914", - "name": "Zafara Tourist Hat", - }, - ], - }, -} -`; diff --git a/src/server/query-tests/__snapshots__/Pet.test.js.snap b/src/server/query-tests/__snapshots__/Pet.test.js.snap deleted file mode 100644 index 957db35..0000000 --- a/src/server/query-tests/__snapshots__/Pet.test.js.snap +++ /dev/null @@ -1,3022 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Pet looks up a pet 1`] = ` -Object { - "petOnNeopetsDotCom": Object { - "color": Object { - "id": "75", - "name": "Starry", - }, - "items": Array [ - Object { - "description": "What does this ball actually do?", - "id": "37229", - "isNc": false, - "name": "Magic Ball Table", - "rarityIndex": 101, - "thumbnailUrl": "http://images.neopets.com/items/gif_magicball_table.gif", - }, - Object { - "description": "Dont forget to wish upon a star.", - "id": "37375", - "isNc": false, - "name": "Moon and Stars Background", - "rarityIndex": 75, - "thumbnailUrl": "http://images.neopets.com/items/bg_moonstars.gif", - }, - Object { - "description": "Hide your face and hair so no one can recognise you.", - "id": "38911", - "isNc": false, - "name": "Zafara Agent Hood", - "rarityIndex": 92, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_hood.gif", - }, - Object { - "description": "This robe is great for being stealthy.", - "id": "38912", - "isNc": false, - "name": "Zafara Agent Robe", - "rarityIndex": 90, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_robe.gif", - }, - Object { - "description": "Dont leave any trace that you were there with these gloves.", - "id": "38913", - "isNc": false, - "name": "Zafara Agent Gloves", - "rarityIndex": 88, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_gloves.gif", - }, - Object { - "description": "These leaves almost look magical with their gentle glow.", - "id": "43014", - "isNc": false, - "name": "Green Leaf String Lights", - "rarityIndex": 80, - "thumbnailUrl": "http://images.neopets.com/items/toy_stringlight_illleaf.gif", - }, - Object { - "description": "This jewelled staff shines with a magical light.", - "id": "43397", - "isNc": true, - "name": "Jewelled Staff", - "rarityIndex": 500, - "thumbnailUrl": "http://images.neopets.com/items/mall_staff_jewelled.gif", - }, - Object { - "description": "Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.", - "id": "48313", - "isNc": false, - "name": "Altador Cup Brooch", - "rarityIndex": 101, - "thumbnailUrl": "http://images.neopets.com/items/clo_altcuplogo_brooch.gif", - }, - ], - "pose": "SAD_MASC", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, -} -`; - -exports[`Pet models new pet and item data 1`] = ` -Object { - "petOnNeopetsDotCom": Object { - "items": Array [ - Object { - "description": "What does this ball actually do?", - "id": "37229", - "isNc": false, - "name": "Magic Ball Table", - "rarityIndex": 101, - "thumbnailUrl": "http://images.neopets.com/items/gif_magicball_table.gif", - }, - Object { - "description": "Dont forget to wish upon a star.", - "id": "37375", - "isNc": false, - "name": "Moon and Stars Background", - "rarityIndex": 75, - "thumbnailUrl": "http://images.neopets.com/items/bg_moonstars.gif", - }, - Object { - "description": "Hide your face and hair so no one can recognise you.", - "id": "38911", - "isNc": false, - "name": "Zafara Agent Hood", - "rarityIndex": 92, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_hood.gif", - }, - Object { - "description": "This robe is great for being stealthy.", - "id": "38912", - "isNc": false, - "name": "Zafara Agent Robe", - "rarityIndex": 90, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_robe.gif", - }, - Object { - "description": "Dont leave any trace that you were there with these gloves.", - "id": "38913", - "isNc": false, - "name": "Zafara Agent Gloves", - "rarityIndex": 88, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_gloves.gif", - }, - Object { - "description": "These leaves almost look magical with their gentle glow.", - "id": "43014", - "isNc": false, - "name": "Green Leaf String Lights", - "rarityIndex": 80, - "thumbnailUrl": "http://images.neopets.com/items/toy_stringlight_illleaf.gif", - }, - Object { - "description": "This jewelled staff shines with a magical light.", - "id": "43397", - "isNc": true, - "name": "Jewelled Staff", - "rarityIndex": 500, - "thumbnailUrl": "http://images.neopets.com/items/mall_staff_jewelled.gif", - }, - Object { - "description": "Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.", - "id": "48313", - "isNc": false, - "name": "Altador Cup Brooch", - "rarityIndex": 101, - "thumbnailUrl": "http://images.neopets.com/items/clo_altcuplogo_brooch.gif", - }, - ], - }, -} -`; - -exports[`Pet models new pet and item data 2`] = ` -Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?,?,?,?,?,?,?,?)", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM swf_assets WHERE (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?)", - Array [ - "object", - "6829", - "object", - "14855", - "object", - "14856", - "object", - "14857", - "object", - "36414", - "object", - "39646", - "object", - "51959", - "object", - "56478", - "biology", - "7942", - "biology", - "7941", - "biology", - "24008", - "biology", - "21060", - "biology", - "21057", - "biology", - "7946", - ], - ], - Array [ - "INSERT INTO pet_types (body_id, color_id, created_at, species_id) VALUES (?, ?, ?, ?);", - Array [ - "180", - "75", - 2020-01-01T00:00:00.000Z, - "54", - ], - ], - Array [ - "INSERT INTO items (category, created_at, id, price, rarity_index, thumbnail_url, type, updated_at, weight_lbs, zones_restrict) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", - Array [ - "Gift", - 2020-01-01T00:00:00.000Z, - "37229", - 0, - 101, - "http://images.neopets.com/items/gif_magicball_table.gif", - "Gift", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000", - "Special", - 2020-01-01T00:00:00.000Z, - "37375", - 209, - 75, - "http://images.neopets.com/items/bg_moonstars.gif", - "Mystical Surroundings", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38911", - 980, - 92, - "http://images.neopets.com/items/clo_zafara_agent_hood.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000001100000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38912", - 1476, - 90, - "http://images.neopets.com/items/clo_zafara_agent_robe.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000101000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38913", - 1177, - 88, - "http://images.neopets.com/items/clo_zafara_agent_gloves.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - "Toys", - 2020-01-01T00:00:00.000Z, - "43014", - 1033, - 80, - "http://images.neopets.com/items/toy_stringlight_illleaf.gif", - "Toy", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "43397", - 0, - 500, - "http://images.neopets.com/items/mall_staff_jewelled.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "48313", - 0, - 101, - "http://images.neopets.com/items/clo_altcuplogo_brooch.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - ], - ], - Array [ - "INSERT INTO item_translations (created_at, description, item_id, locale, name, rarity, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?);", - Array [ - 2020-01-01T00:00:00.000Z, - "What does this ball actually do?", - "37229", - "en", - "Magic Ball Table", - "Special", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Dont forget to wish upon a star.", - "37375", - "en", - "Moon and Stars Background", - "Uncommon", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Hide your face and hair so no one can recognise you.", - "38911", - "en", - "Zafara Agent Hood", - "Very Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "This robe is great for being stealthy.", - "38912", - "en", - "Zafara Agent Robe", - "Very Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Dont leave any trace that you were there with these gloves.", - "38913", - "en", - "Zafara Agent Gloves", - "Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "These leaves almost look magical with their gentle glow.", - "43014", - "en", - "Green Leaf String Lights", - "Uncommon", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "This jewelled staff shines with a magical light.", - "43397", - "en", - "Jewelled Staff", - "Artifact", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.", - "48313", - "en", - "Altador Cup Brooch", - "Special", - 2020-01-01T00:00:00.000Z, - ], - ], - Array [ - "INSERT INTO swf_assets (body_id, created_at, remote_id, type, url, zone_id, zones_restrict) VALUES (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?);", - Array [ - "180", - 2020-01-01T00:00:00.000Z, - "6829", - "object", - "http://images.neopets.com/cp/items/swf/000/000/006/6829_1707e50385.swf", - "3", - "", - "180", - 2020-01-01T00:00:00.000Z, - "14855", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14855_215f367070.swf", - "25", - "", - "180", - 2020-01-01T00:00:00.000Z, - "14856", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14856_46c1b32797.swf", - "26", - "", - "180", - 2020-01-01T00:00:00.000Z, - "14857", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14857_d43380ef66.swf", - "40", - "", - "180", - 2020-01-01T00:00:00.000Z, - "36414", - "object", - "http://images.neopets.com/cp/items/swf/000/000/036/36414_1e2aaab4ad.swf", - "48", - "", - "180", - 2020-01-01T00:00:00.000Z, - "39646", - "object", - "http://images.neopets.com/cp/items/swf/000/000/039/39646_e129e22ada.swf", - "42", - "", - "180", - 2020-01-01T00:00:00.000Z, - "51959", - "object", - "http://images.neopets.com/cp/items/swf/000/000/051/51959_4439727c48.swf", - "45", - "", - "180", - 2020-01-01T00:00:00.000Z, - "56478", - "object", - "http://images.neopets.com/cp/items/swf/000/000/056/56478_eabc28e7c7.swf", - "27", - "", - "0", - 2020-01-01T00:00:00.000Z, - "7942", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7942_2eab06fd7b.swf", - "5", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "7941", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7941_2c4cc4b846.swf", - "15", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "24008", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/024/24008_a05fe9876a.swf", - "30", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "21060", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/021/21060_d77ba93b7b.swf", - "33", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "21057", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/021/21057_4550efbb2f.swf", - "34", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "7946", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7946_0348dad587.swf", - "37", - "0000000000000000000000000000000000000000000000000000", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "INSERT INTO parents_swf_assets (parent_type, parent_id, swf_asset_id) - VALUES (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?))", - Array [ - "Item", - "37375", - "6829", - "Item", - "38913", - "14855", - "Item", - "38912", - "14856", - "Item", - "38911", - "14857", - "Item", - "43014", - "36414", - "Item", - "43397", - "39646", - "Item", - "37229", - "51959", - "Item", - "48313", - "56478", - ], - ], - Array [ - "SELECT * FROM pet_states WHERE (pet_type_id = ? AND swf_asset_ids = ?)", - Array [ - "1", - "7941,7942,7946,21057,21060,24008", - ], - ], - Array [ - "INSERT INTO pet_states (female, labeled, mood_id, pet_type_id, swf_asset_ids, unconverted) VALUES (?, ?, ?, ?, ?, ?);", - Array [ - 0, - 1, - "2", - "1", - "7941,7942,7946,21057,21060,24008", - 0, - ], - ], - Array [ - "SELECT * FROM pet_states WHERE (pet_type_id = ? AND swf_asset_ids = ?)", - Array [ - "1", - "7941,7942,7946,21057,21060,24008", - ], - ], - Array [ - "SELECT * FROM swf_assets WHERE (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?)", - Array [ - "biology", - "7942", - "biology", - "7941", - "biology", - "24008", - "biology", - "21060", - "biology", - "21057", - "biology", - "7946", - ], - ], - Array [ - "INSERT INTO parents_swf_assets (parent_type, parent_id, swf_asset_id) - VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?);", - Array [ - "PetState", - "1", - "9", - "PetState", - "1", - "10", - "PetState", - "1", - "11", - "PetState", - "1", - "12", - "PetState", - "1", - "13", - "PetState", - "1", - "14", - ], - ], - Array [ - "INSERT INTO modeling_logs (log_json, pet_name) VALUES (?, ?)", - Array [ - "[ - { - \\"tableName\\": \\"pet_types\\", - \\"inserts\\": [ - { - \\"colorId\\": \\"75\\", - \\"speciesId\\": \\"54\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"items\\", - \\"inserts\\": [ - { - \\"id\\": \\"37229\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/gif_magicball_table.gif\\", - \\"category\\": \\"Gift\\", - \\"type\\": \\"Gift\\", - \\"rarityIndex\\": 101, - \\"price\\": 0, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"37375\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/bg_moonstars.gif\\", - \\"category\\": \\"Special\\", - \\"type\\": \\"Mystical Surroundings\\", - \\"rarityIndex\\": 75, - \\"price\\": 209, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38911\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000001100000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_hood.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 92, - \\"price\\": 980, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38912\\", - \\"zonesRestrict\\": \\"0000000000000000000101000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_robe.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 90, - \\"price\\": 1476, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38913\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_gloves.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 88, - \\"price\\": 1177, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"43014\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/toy_stringlight_illleaf.gif\\", - \\"category\\": \\"Toys\\", - \\"type\\": \\"Toy\\", - \\"rarityIndex\\": 80, - \\"price\\": 1033, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"43397\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/mall_staff_jewelled.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 500, - \\"price\\": 0, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"48313\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_altcuplogo_brooch.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 101, - \\"price\\": 0, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"item_translations\\", - \\"inserts\\": [ - { - \\"itemId\\": \\"37229\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Magic Ball Table\\", - \\"description\\": \\"What does this ball actually do?\\", - \\"rarity\\": \\"Special\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"37375\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Moon and Stars Background\\", - \\"description\\": \\"Dont forget to wish upon a star.\\", - \\"rarity\\": \\"Uncommon\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38911\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Hood\\", - \\"description\\": \\"Hide your face and hair so no one can recognise you.\\", - \\"rarity\\": \\"Very Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38912\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Robe\\", - \\"description\\": \\"This robe is great for being stealthy.\\", - \\"rarity\\": \\"Very Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38913\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Gloves\\", - \\"description\\": \\"Dont leave any trace that you were there with these gloves.\\", - \\"rarity\\": \\"Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"43014\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Green Leaf String Lights\\", - \\"description\\": \\"These leaves almost look magical with their gentle glow.\\", - \\"rarity\\": \\"Uncommon\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"43397\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Jewelled Staff\\", - \\"description\\": \\"This jewelled staff shines with a magical light.\\", - \\"rarity\\": \\"Artifact\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"48313\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Altador Cup Brooch\\", - \\"description\\": \\"Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.\\", - \\"rarity\\": \\"Special\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"parents_swf_assets\\", - \\"inserts\\": [ - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"37375\\", - \\"remoteId\\": \\"6829\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38913\\", - \\"remoteId\\": \\"14855\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38912\\", - \\"remoteId\\": \\"14856\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38911\\", - \\"remoteId\\": \\"14857\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"43014\\", - \\"remoteId\\": \\"36414\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"43397\\", - \\"remoteId\\": \\"39646\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"37229\\", - \\"remoteId\\": \\"51959\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"48313\\", - \\"remoteId\\": \\"56478\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"swf_assets\\", - \\"inserts\\": [ - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"6829\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/006/6829_1707e50385.swf\\", - \\"zoneId\\": \\"3\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14855\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14855_215f367070.swf\\", - \\"zoneId\\": \\"25\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14856\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14856_46c1b32797.swf\\", - \\"zoneId\\": \\"26\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14857\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14857_d43380ef66.swf\\", - \\"zoneId\\": \\"40\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"36414\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/036/36414_1e2aaab4ad.swf\\", - \\"zoneId\\": \\"48\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"39646\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/039/39646_e129e22ada.swf\\", - \\"zoneId\\": \\"42\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"51959\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/051/51959_4439727c48.swf\\", - \\"zoneId\\": \\"45\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"56478\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/056/56478_eabc28e7c7.swf\\", - \\"zoneId\\": \\"27\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7942\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7942_2eab06fd7b.swf\\", - \\"zoneId\\": \\"5\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7941\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7941_2c4cc4b846.swf\\", - \\"zoneId\\": \\"15\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"24008\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/024/24008_a05fe9876a.swf\\", - \\"zoneId\\": \\"30\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"21060\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/021/21060_d77ba93b7b.swf\\", - \\"zoneId\\": \\"33\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"21057\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/021/21057_4550efbb2f.swf\\", - \\"zoneId\\": \\"34\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7946\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7946_0348dad587.swf\\", - \\"zoneId\\": \\"37\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"parents_swf_assets\\", - \\"inserts\\": [ - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"9\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"10\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"11\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"12\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"13\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"14\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"pet_states\\", - \\"inserts\\": [ - { - \\"petTypeId\\": \\"1\\", - \\"swfAssetIds\\": \\"7941,7942,7946,21057,21060,24008\\", - \\"female\\": 0, - \\"moodId\\": \\"2\\", - \\"unconverted\\": 0, - \\"labeled\\": 1 - } - ], - \\"updates\\": [] - } -]", - "roopal27", - ], - ], -] -`; - -exports[`Pet models new pet and item data 3`] = ` -Object { - "items": Array [ - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "7", - "swfUrl": "http://images.neopets.com/cp/items/swf/000/000/051/51959_4439727c48.swf", - }, - ], - }, - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "What does this ball actually do?", - "id": "37229", - "isNc": false, - "name": "Magic Ball Table", - "rarityIndex": 101, - "thumbnailUrl": "http://images.neopets.com/items/gif_magicball_table.gif", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "1", - "swfUrl": "http://images.neopets.com/cp/items/swf/000/000/006/6829_1707e50385.swf", - }, - ], - }, - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "Dont forget to wish upon a star.", - "id": "37375", - "isNc": false, - "name": "Moon and Stars Background", - "rarityIndex": 75, - "thumbnailUrl": "http://images.neopets.com/items/bg_moonstars.gif", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "4", - "swfUrl": "http://images.neopets.com/cp/items/swf/000/000/014/14857_d43380ef66.swf", - }, - ], - }, - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "Hide your face and hair so no one can recognise you.", - "id": "38911", - "isNc": false, - "name": "Zafara Agent Hood", - "rarityIndex": 92, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_hood.gif", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "3", - "swfUrl": "http://images.neopets.com/cp/items/swf/000/000/014/14856_46c1b32797.swf", - }, - ], - }, - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "This robe is great for being stealthy.", - "id": "38912", - "isNc": false, - "name": "Zafara Agent Robe", - "rarityIndex": 90, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_robe.gif", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "2", - "swfUrl": "http://images.neopets.com/cp/items/swf/000/000/014/14855_215f367070.swf", - }, - ], - }, - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "Dont leave any trace that you were there with these gloves.", - "id": "38913", - "isNc": false, - "name": "Zafara Agent Gloves", - "rarityIndex": 88, - "thumbnailUrl": "http://images.neopets.com/items/clo_zafara_agent_gloves.gif", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "5", - "swfUrl": "http://images.neopets.com/cp/items/swf/000/000/036/36414_1e2aaab4ad.swf", - }, - ], - }, - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "These leaves almost look magical with their gentle glow.", - "id": "43014", - "isNc": false, - "name": "Green Leaf String Lights", - "rarityIndex": 80, - "thumbnailUrl": "http://images.neopets.com/items/toy_stringlight_illleaf.gif", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "6", - "swfUrl": "http://images.neopets.com/cp/items/swf/000/000/039/39646_e129e22ada.swf", - }, - ], - }, - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "This jewelled staff shines with a magical light.", - "id": "43397", - "isNc": true, - "name": "Jewelled Staff", - "rarityIndex": 500, - "thumbnailUrl": "http://images.neopets.com/items/mall_staff_jewelled.gif", - }, - Object { - "appearanceOn": Object { - "layers": Array [ - Object { - "id": "8", - "swfUrl": "http://images.neopets.com/cp/items/swf/000/000/056/56478_eabc28e7c7.swf", - }, - ], - }, - "createdAt": "2020-01-01T00:00:00.000Z", - "description": "Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.", - "id": "48313", - "isNc": false, - "name": "Altador Cup Brooch", - "rarityIndex": 101, - "thumbnailUrl": "http://images.neopets.com/items/clo_altcuplogo_brooch.gif", - }, - ], - "petAppearance": Object { - "bodyId": "180", - "id": "1", - "layers": Array [ - Object { - "id": "9", - "swfUrl": "http://images.neopets.com/cp/bio/swf/000/000/007/7942_2eab06fd7b.swf", - }, - Object { - "id": "10", - "swfUrl": "http://images.neopets.com/cp/bio/swf/000/000/007/7941_2c4cc4b846.swf", - }, - Object { - "id": "11", - "swfUrl": "http://images.neopets.com/cp/bio/swf/000/000/024/24008_a05fe9876a.swf", - }, - Object { - "id": "12", - "swfUrl": "http://images.neopets.com/cp/bio/swf/000/000/021/21060_d77ba93b7b.swf", - }, - Object { - "id": "13", - "swfUrl": "http://images.neopets.com/cp/bio/swf/000/000/021/21057_4550efbb2f.swf", - }, - Object { - "id": "14", - "swfUrl": "http://images.neopets.com/cp/bio/swf/000/000/007/7946_0348dad587.swf", - }, - ], - "pose": "SAD_MASC", - "restrictedZones": Array [], - }, -} -`; - -exports[`Pet models new pet and item data 4`] = ` -Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?,?,?,?,?,?,?,?)", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM pet_states - WHERE pet_type_id IN (?) - ORDER BY (mood_id IS NULL) ASC, mood_id ASC, female DESC, - unconverted DESC, glitched ASC, id DESC", - Array [ - "1", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"Item\\" AND - rel.swf_asset_id = sa.id - WHERE (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0)) OR (rel.parent_id = ? AND (sa.body_id = ? OR sa.body_id = 0))", - Array [ - "37229", - "180", - "37375", - "180", - "38911", - "180", - "38912", - "180", - "38913", - "180", - "43014", - "180", - "43397", - "180", - "48313", - "180", - ], - ], - Array [ - "SELECT sa.*, rel.parent_id FROM swf_assets sa - INNER JOIN parents_swf_assets rel ON - rel.parent_type = \\"PetState\\" AND - rel.swf_asset_id = sa.id - WHERE rel.parent_id IN (?)", - Array [ - "1", - ], - ], -] -`; - -exports[`Pet models updated item data 1`] = ` -Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?,?,?,?,?,?,?,?)", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM swf_assets WHERE (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?)", - Array [ - "object", - "6829", - "object", - "14855", - "object", - "14856", - "object", - "14857", - "object", - "36414", - "object", - "39646", - "object", - "51959", - "object", - "56478", - "biology", - "7942", - "biology", - "7941", - "biology", - "24008", - "biology", - "21060", - "biology", - "21057", - "biology", - "7946", - ], - ], - Array [ - "INSERT INTO pet_types (body_id, color_id, created_at, species_id) VALUES (?, ?, ?, ?);", - Array [ - "180", - "75", - 2020-01-01T00:00:00.000Z, - "54", - ], - ], - Array [ - "INSERT INTO items (category, created_at, id, price, rarity_index, thumbnail_url, type, updated_at, weight_lbs, zones_restrict) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", - Array [ - "Gift", - 2020-01-01T00:00:00.000Z, - "37229", - 0, - 101, - "http://images.neopets.com/items/gif_magicball_table.gif", - "Gift", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000", - "Special", - 2020-01-01T00:00:00.000Z, - "37375", - 209, - 75, - "http://images.neopets.com/items/bg_moonstars.gif", - "Mystical Surroundings", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38911", - 980, - 92, - "http://images.neopets.com/items/clo_zafara_agent_hood.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000001100000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38912", - 1476, - 90, - "http://images.neopets.com/items/clo_zafara_agent_robe.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000101000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38913", - 1177, - 88, - "http://images.neopets.com/items/clo_zafara_agent_gloves.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - "Toys", - 2020-01-01T00:00:00.000Z, - "43014", - 1033, - 80, - "http://images.neopets.com/items/toy_stringlight_illleaf.gif", - "Toy", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "48313", - 0, - 101, - "http://images.neopets.com/items/clo_altcuplogo_brooch.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - ], - ], - Array [ - "INSERT INTO item_translations (created_at, description, item_id, locale, name, rarity, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?);", - Array [ - 2020-01-01T00:00:00.000Z, - "What does this ball actually do?", - "37229", - "en", - "Magic Ball Table", - "Special", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Dont forget to wish upon a star.", - "37375", - "en", - "Moon and Stars Background", - "Uncommon", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Hide your face and hair so no one can recognise you.", - "38911", - "en", - "Zafara Agent Hood", - "Very Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "This robe is great for being stealthy.", - "38912", - "en", - "Zafara Agent Robe", - "Very Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Dont leave any trace that you were there with these gloves.", - "38913", - "en", - "Zafara Agent Gloves", - "Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "These leaves almost look magical with their gentle glow.", - "43014", - "en", - "Green Leaf String Lights", - "Uncommon", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.", - "48313", - "en", - "Altador Cup Brooch", - "Special", - 2020-01-01T00:00:00.000Z, - ], - ], - Array [ - "INSERT INTO swf_assets (body_id, created_at, remote_id, type, url, zone_id, zones_restrict) VALUES (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?);", - Array [ - "180", - 2020-01-01T00:00:00.000Z, - "6829", - "object", - "http://images.neopets.com/cp/items/swf/000/000/006/6829_1707e50385.swf", - "3", - "", - "180", - 2020-01-01T00:00:00.000Z, - "14855", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14855_215f367070.swf", - "25", - "", - "180", - 2020-01-01T00:00:00.000Z, - "14856", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14856_46c1b32797.swf", - "26", - "", - "180", - 2020-01-01T00:00:00.000Z, - "14857", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14857_d43380ef66.swf", - "40", - "", - "180", - 2020-01-01T00:00:00.000Z, - "36414", - "object", - "http://images.neopets.com/cp/items/swf/000/000/036/36414_1e2aaab4ad.swf", - "48", - "", - "180", - 2020-01-01T00:00:00.000Z, - "39646", - "object", - "http://images.neopets.com/cp/items/swf/000/000/039/39646_e129e22ada.swf", - "42", - "", - "180", - 2020-01-01T00:00:00.000Z, - "51959", - "object", - "http://images.neopets.com/cp/items/swf/000/000/051/51959_4439727c48.swf", - "45", - "", - "180", - 2020-01-01T00:00:00.000Z, - "56478", - "object", - "http://images.neopets.com/cp/items/swf/000/000/056/56478_eabc28e7c7.swf", - "27", - "", - "0", - 2020-01-01T00:00:00.000Z, - "7942", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7942_2eab06fd7b.swf", - "5", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "7941", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7941_2c4cc4b846.swf", - "15", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "24008", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/024/24008_a05fe9876a.swf", - "30", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "21060", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/021/21060_d77ba93b7b.swf", - "33", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "21057", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/021/21057_4550efbb2f.swf", - "34", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "7946", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7946_0348dad587.swf", - "37", - "0000000000000000000000000000000000000000000000000000", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "UPDATE items SET rarity_index = ?, thumbnail_url = ?, updated_at = ?, zones_restrict = ? WHERE id = ? LIMIT 1;", - Array [ - 500, - "http://images.neopets.com/items/mall_staff_jewelled.gif", - 2020-01-01T00:00:00.000Z, - "0000000000000000000000000000000000000000000000", - "43397", - ], - ], - Array [ - "UPDATE item_translations SET description = ?, name = ?, updated_at = ? WHERE item_id = ? AND locale = \\"en\\" LIMIT 1;", - Array [ - "This jewelled staff shines with a magical light.", - "Jewelled Staff", - 2020-01-01T00:00:00.000Z, - "43397", - ], - ], - Array [ - "INSERT INTO parents_swf_assets (parent_type, parent_id, swf_asset_id) - VALUES (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?))", - Array [ - "Item", - "37375", - "6829", - "Item", - "38913", - "14855", - "Item", - "38912", - "14856", - "Item", - "38911", - "14857", - "Item", - "43014", - "36414", - "Item", - "43397", - "39646", - "Item", - "37229", - "51959", - "Item", - "48313", - "56478", - ], - ], - Array [ - "SELECT * FROM pet_states WHERE (pet_type_id = ? AND swf_asset_ids = ?)", - Array [ - "1", - "7941,7942,7946,21057,21060,24008", - ], - ], - Array [ - "INSERT INTO pet_states (female, labeled, mood_id, pet_type_id, swf_asset_ids, unconverted) VALUES (?, ?, ?, ?, ?, ?);", - Array [ - 0, - 1, - "2", - "1", - "7941,7942,7946,21057,21060,24008", - 0, - ], - ], - Array [ - "SELECT * FROM pet_states WHERE (pet_type_id = ? AND swf_asset_ids = ?)", - Array [ - "1", - "7941,7942,7946,21057,21060,24008", - ], - ], - Array [ - "SELECT * FROM swf_assets WHERE (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?)", - Array [ - "biology", - "7942", - "biology", - "7941", - "biology", - "24008", - "biology", - "21060", - "biology", - "21057", - "biology", - "7946", - ], - ], - Array [ - "INSERT INTO parents_swf_assets (parent_type, parent_id, swf_asset_id) - VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?);", - Array [ - "PetState", - "1", - "9", - "PetState", - "1", - "10", - "PetState", - "1", - "11", - "PetState", - "1", - "12", - "PetState", - "1", - "13", - "PetState", - "1", - "14", - ], - ], - Array [ - "INSERT INTO modeling_logs (log_json, pet_name) VALUES (?, ?)", - Array [ - "[ - { - \\"tableName\\": \\"pet_types\\", - \\"inserts\\": [ - { - \\"colorId\\": \\"75\\", - \\"speciesId\\": \\"54\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"items\\", - \\"inserts\\": [ - { - \\"id\\": \\"37229\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/gif_magicball_table.gif\\", - \\"category\\": \\"Gift\\", - \\"type\\": \\"Gift\\", - \\"rarityIndex\\": 101, - \\"price\\": 0, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"37375\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/bg_moonstars.gif\\", - \\"category\\": \\"Special\\", - \\"type\\": \\"Mystical Surroundings\\", - \\"rarityIndex\\": 75, - \\"price\\": 209, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38911\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000001100000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_hood.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 92, - \\"price\\": 980, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38912\\", - \\"zonesRestrict\\": \\"0000000000000000000101000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_robe.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 90, - \\"price\\": 1476, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38913\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_gloves.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 88, - \\"price\\": 1177, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"43014\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/toy_stringlight_illleaf.gif\\", - \\"category\\": \\"Toys\\", - \\"type\\": \\"Toy\\", - \\"rarityIndex\\": 80, - \\"price\\": 1033, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"48313\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_altcuplogo_brooch.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 101, - \\"price\\": 0, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [ - { - \\"incomingRow\\": { - \\"id\\": \\"43397\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/mall_staff_jewelled.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 500, - \\"price\\": 0, - \\"weightLbs\\": 1 - }, - \\"update\\": { - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/mall_staff_jewelled.gif\\", - \\"rarityIndex\\": 500, - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - } - ] - }, - { - \\"tableName\\": \\"item_translations\\", - \\"inserts\\": [ - { - \\"itemId\\": \\"37229\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Magic Ball Table\\", - \\"description\\": \\"What does this ball actually do?\\", - \\"rarity\\": \\"Special\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"37375\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Moon and Stars Background\\", - \\"description\\": \\"Dont forget to wish upon a star.\\", - \\"rarity\\": \\"Uncommon\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38911\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Hood\\", - \\"description\\": \\"Hide your face and hair so no one can recognise you.\\", - \\"rarity\\": \\"Very Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38912\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Robe\\", - \\"description\\": \\"This robe is great for being stealthy.\\", - \\"rarity\\": \\"Very Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38913\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Gloves\\", - \\"description\\": \\"Dont leave any trace that you were there with these gloves.\\", - \\"rarity\\": \\"Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"43014\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Green Leaf String Lights\\", - \\"description\\": \\"These leaves almost look magical with their gentle glow.\\", - \\"rarity\\": \\"Uncommon\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"48313\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Altador Cup Brooch\\", - \\"description\\": \\"Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.\\", - \\"rarity\\": \\"Special\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [ - { - \\"incomingRow\\": { - \\"itemId\\": \\"43397\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Jewelled Staff\\", - \\"description\\": \\"This jewelled staff shines with a magical light.\\", - \\"rarity\\": \\"Artifact\\" - }, - \\"update\\": { - \\"name\\": \\"Jewelled Staff\\", - \\"description\\": \\"This jewelled staff shines with a magical light.\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - } - ] - }, - { - \\"tableName\\": \\"parents_swf_assets\\", - \\"inserts\\": [ - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"37375\\", - \\"remoteId\\": \\"6829\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38913\\", - \\"remoteId\\": \\"14855\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38912\\", - \\"remoteId\\": \\"14856\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38911\\", - \\"remoteId\\": \\"14857\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"43014\\", - \\"remoteId\\": \\"36414\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"43397\\", - \\"remoteId\\": \\"39646\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"37229\\", - \\"remoteId\\": \\"51959\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"48313\\", - \\"remoteId\\": \\"56478\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"swf_assets\\", - \\"inserts\\": [ - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"6829\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/006/6829_1707e50385.swf\\", - \\"zoneId\\": \\"3\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14855\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14855_215f367070.swf\\", - \\"zoneId\\": \\"25\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14856\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14856_46c1b32797.swf\\", - \\"zoneId\\": \\"26\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14857\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14857_d43380ef66.swf\\", - \\"zoneId\\": \\"40\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"36414\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/036/36414_1e2aaab4ad.swf\\", - \\"zoneId\\": \\"48\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"39646\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/039/39646_e129e22ada.swf\\", - \\"zoneId\\": \\"42\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"51959\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/051/51959_4439727c48.swf\\", - \\"zoneId\\": \\"45\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"56478\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/056/56478_eabc28e7c7.swf\\", - \\"zoneId\\": \\"27\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7942\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7942_2eab06fd7b.swf\\", - \\"zoneId\\": \\"5\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7941\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7941_2c4cc4b846.swf\\", - \\"zoneId\\": \\"15\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"24008\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/024/24008_a05fe9876a.swf\\", - \\"zoneId\\": \\"30\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"21060\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/021/21060_d77ba93b7b.swf\\", - \\"zoneId\\": \\"33\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"21057\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/021/21057_4550efbb2f.swf\\", - \\"zoneId\\": \\"34\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7946\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7946_0348dad587.swf\\", - \\"zoneId\\": \\"37\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"parents_swf_assets\\", - \\"inserts\\": [ - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"9\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"10\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"11\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"12\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"13\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"14\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"pet_states\\", - \\"inserts\\": [ - { - \\"petTypeId\\": \\"1\\", - \\"swfAssetIds\\": \\"7941,7942,7946,21057,21060,24008\\", - \\"female\\": 0, - \\"moodId\\": \\"2\\", - \\"unconverted\\": 0, - \\"labeled\\": 1 - } - ], - \\"updates\\": [] - } -]", - "roopal27", - ], - ], -] -`; - -exports[`Pet models updated item data 2`] = ` -Array [ - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?) AND locale = \\"en\\"", - Array [ - "43397", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?)", - Array [ - "43397", - ], - ], -] -`; - -exports[`Pet sets bodyId=0 after seeing it on two body types: db 1`] = ` -Array [ - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "SELECT * FROM items WHERE id IN (?,?,?,?,?,?,?,?)", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "37229", - "37375", - "38911", - "38912", - "38913", - "43014", - "43397", - "48313", - ], - ], - Array [ - "SELECT * FROM swf_assets WHERE (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?)", - Array [ - "object", - "6829", - "object", - "14855", - "object", - "14856", - "object", - "14857", - "object", - "36414", - "object", - "39646", - "object", - "51959", - "object", - "56478", - "biology", - "7942", - "biology", - "7941", - "biology", - "24008", - "biology", - "21060", - "biology", - "21057", - "biology", - "7946", - ], - ], - Array [ - "INSERT INTO pet_types (body_id, color_id, created_at, species_id) VALUES (?, ?, ?, ?);", - Array [ - "180", - "75", - 2020-01-01T00:00:00.000Z, - "54", - ], - ], - Array [ - "INSERT INTO items (category, created_at, id, price, rarity_index, thumbnail_url, type, updated_at, weight_lbs, zones_restrict) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", - Array [ - "Gift", - 2020-01-01T00:00:00.000Z, - "37229", - 0, - 101, - "http://images.neopets.com/items/gif_magicball_table.gif", - "Gift", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000", - "Special", - 2020-01-01T00:00:00.000Z, - "37375", - 209, - 75, - "http://images.neopets.com/items/bg_moonstars.gif", - "Mystical Surroundings", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38911", - 980, - 92, - "http://images.neopets.com/items/clo_zafara_agent_hood.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000001100000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38912", - 1476, - 90, - "http://images.neopets.com/items/clo_zafara_agent_robe.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000101000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "38913", - 1177, - 88, - "http://images.neopets.com/items/clo_zafara_agent_gloves.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - "Toys", - 2020-01-01T00:00:00.000Z, - "43014", - 1033, - 80, - "http://images.neopets.com/items/toy_stringlight_illleaf.gif", - "Toy", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "43397", - 0, - 500, - "http://images.neopets.com/items/mall_staff_jewelled.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000", - "Clothes", - 2020-01-01T00:00:00.000Z, - "48313", - 0, - 101, - "http://images.neopets.com/items/clo_altcuplogo_brooch.gif", - "Clothes", - 2020-01-01T00:00:00.000Z, - 1, - "0000000000000000000000000000000000000000000000000000", - ], - ], - Array [ - "INSERT INTO item_translations (created_at, description, item_id, locale, name, rarity, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?);", - Array [ - 2020-01-01T00:00:00.000Z, - "What does this ball actually do?", - "37229", - "en", - "Magic Ball Table", - "Special", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Dont forget to wish upon a star.", - "37375", - "en", - "Moon and Stars Background", - "Uncommon", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Hide your face and hair so no one can recognise you.", - "38911", - "en", - "Zafara Agent Hood", - "Very Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "This robe is great for being stealthy.", - "38912", - "en", - "Zafara Agent Robe", - "Very Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Dont leave any trace that you were there with these gloves.", - "38913", - "en", - "Zafara Agent Gloves", - "Rare", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "These leaves almost look magical with their gentle glow.", - "43014", - "en", - "Green Leaf String Lights", - "Uncommon", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "This jewelled staff shines with a magical light.", - "43397", - "en", - "Jewelled Staff", - "Artifact", - 2020-01-01T00:00:00.000Z, - 2020-01-01T00:00:00.000Z, - "Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.", - "48313", - "en", - "Altador Cup Brooch", - "Special", - 2020-01-01T00:00:00.000Z, - ], - ], - Array [ - "INSERT INTO swf_assets (body_id, created_at, remote_id, type, url, zone_id, zones_restrict) VALUES (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?);", - Array [ - "180", - 2020-01-01T00:00:00.000Z, - "14855", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14855_215f367070.swf", - "25", - "", - "180", - 2020-01-01T00:00:00.000Z, - "14856", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14856_46c1b32797.swf", - "26", - "", - "180", - 2020-01-01T00:00:00.000Z, - "14857", - "object", - "http://images.neopets.com/cp/items/swf/000/000/014/14857_d43380ef66.swf", - "40", - "", - "180", - 2020-01-01T00:00:00.000Z, - "36414", - "object", - "http://images.neopets.com/cp/items/swf/000/000/036/36414_1e2aaab4ad.swf", - "48", - "", - "180", - 2020-01-01T00:00:00.000Z, - "39646", - "object", - "http://images.neopets.com/cp/items/swf/000/000/039/39646_e129e22ada.swf", - "42", - "", - "180", - 2020-01-01T00:00:00.000Z, - "51959", - "object", - "http://images.neopets.com/cp/items/swf/000/000/051/51959_4439727c48.swf", - "45", - "", - "180", - 2020-01-01T00:00:00.000Z, - "56478", - "object", - "http://images.neopets.com/cp/items/swf/000/000/056/56478_eabc28e7c7.swf", - "27", - "", - "0", - 2020-01-01T00:00:00.000Z, - "7942", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7942_2eab06fd7b.swf", - "5", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "7941", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7941_2c4cc4b846.swf", - "15", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "24008", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/024/24008_a05fe9876a.swf", - "30", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "21060", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/021/21060_d77ba93b7b.swf", - "33", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "21057", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/021/21057_4550efbb2f.swf", - "34", - "0000000000000000000000000000000000000000000000000000", - "0", - 2020-01-01T00:00:00.000Z, - "7946", - "biology", - "http://images.neopets.com/cp/bio/swf/000/000/007/7946_0348dad587.swf", - "37", - "0000000000000000000000000000000000000000000000000000", - ], - ], - Array [ - "SELECT * FROM pet_types WHERE (species_id = ? AND color_id = ?)", - Array [ - "54", - "75", - ], - ], - Array [ - "INSERT INTO parents_swf_assets (parent_type, parent_id, swf_asset_id) - VALUES (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?)), (?, ?, (SELECT id FROM swf_assets WHERE type = \\"object\\" AND remote_id = ?))", - Array [ - "Item", - "38913", - "14855", - "Item", - "38912", - "14856", - "Item", - "38911", - "14857", - "Item", - "43014", - "36414", - "Item", - "43397", - "39646", - "Item", - "37229", - "51959", - "Item", - "48313", - "56478", - ], - ], - Array [ - "SELECT * FROM pet_states WHERE (pet_type_id = ? AND swf_asset_ids = ?)", - Array [ - "1", - "7941,7942,7946,21057,21060,24008", - ], - ], - Array [ - "UPDATE swf_assets SET body_id = ? WHERE type = ? AND remote_id = ? LIMIT 1;", - Array [ - "0", - "object", - "6829", - ], - ], - Array [ - "INSERT INTO pet_states (female, labeled, mood_id, pet_type_id, swf_asset_ids, unconverted) VALUES (?, ?, ?, ?, ?, ?);", - Array [ - 0, - 1, - "2", - "1", - "7941,7942,7946,21057,21060,24008", - 0, - ], - ], - Array [ - "SELECT * FROM pet_states WHERE (pet_type_id = ? AND swf_asset_ids = ?)", - Array [ - "1", - "7941,7942,7946,21057,21060,24008", - ], - ], - Array [ - "SELECT * FROM swf_assets WHERE (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?) OR (type = ? AND remote_id = ?)", - Array [ - "biology", - "7942", - "biology", - "7941", - "biology", - "24008", - "biology", - "21060", - "biology", - "21057", - "biology", - "7946", - ], - ], - Array [ - "INSERT INTO parents_swf_assets (parent_type, parent_id, swf_asset_id) - VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?);", - Array [ - "PetState", - "1", - "9", - "PetState", - "1", - "10", - "PetState", - "1", - "11", - "PetState", - "1", - "12", - "PetState", - "1", - "13", - "PetState", - "1", - "14", - ], - ], - Array [ - "INSERT INTO modeling_logs (log_json, pet_name) VALUES (?, ?)", - Array [ - "[ - { - \\"tableName\\": \\"pet_types\\", - \\"inserts\\": [ - { - \\"colorId\\": \\"75\\", - \\"speciesId\\": \\"54\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"items\\", - \\"inserts\\": [ - { - \\"id\\": \\"37229\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/gif_magicball_table.gif\\", - \\"category\\": \\"Gift\\", - \\"type\\": \\"Gift\\", - \\"rarityIndex\\": 101, - \\"price\\": 0, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"37375\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/bg_moonstars.gif\\", - \\"category\\": \\"Special\\", - \\"type\\": \\"Mystical Surroundings\\", - \\"rarityIndex\\": 75, - \\"price\\": 209, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38911\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000001100000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_hood.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 92, - \\"price\\": 980, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38912\\", - \\"zonesRestrict\\": \\"0000000000000000000101000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_robe.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 90, - \\"price\\": 1476, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"38913\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_zafara_agent_gloves.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 88, - \\"price\\": 1177, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"43014\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/toy_stringlight_illleaf.gif\\", - \\"category\\": \\"Toys\\", - \\"type\\": \\"Toy\\", - \\"rarityIndex\\": 80, - \\"price\\": 1033, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"43397\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/mall_staff_jewelled.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 500, - \\"price\\": 0, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"id\\": \\"48313\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"thumbnailUrl\\": \\"http://images.neopets.com/items/clo_altcuplogo_brooch.gif\\", - \\"category\\": \\"Clothes\\", - \\"type\\": \\"Clothes\\", - \\"rarityIndex\\": 101, - \\"price\\": 0, - \\"weightLbs\\": 1, - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"item_translations\\", - \\"inserts\\": [ - { - \\"itemId\\": \\"37229\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Magic Ball Table\\", - \\"description\\": \\"What does this ball actually do?\\", - \\"rarity\\": \\"Special\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"37375\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Moon and Stars Background\\", - \\"description\\": \\"Dont forget to wish upon a star.\\", - \\"rarity\\": \\"Uncommon\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38911\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Hood\\", - \\"description\\": \\"Hide your face and hair so no one can recognise you.\\", - \\"rarity\\": \\"Very Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38912\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Robe\\", - \\"description\\": \\"This robe is great for being stealthy.\\", - \\"rarity\\": \\"Very Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"38913\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Zafara Agent Gloves\\", - \\"description\\": \\"Dont leave any trace that you were there with these gloves.\\", - \\"rarity\\": \\"Rare\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"43014\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Green Leaf String Lights\\", - \\"description\\": \\"These leaves almost look magical with their gentle glow.\\", - \\"rarity\\": \\"Uncommon\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"43397\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Jewelled Staff\\", - \\"description\\": \\"This jewelled staff shines with a magical light.\\", - \\"rarity\\": \\"Artifact\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"itemId\\": \\"48313\\", - \\"locale\\": \\"en\\", - \\"name\\": \\"Altador Cup Brooch\\", - \\"description\\": \\"Even the announcers of the Altador Cup celebrate. This was given out by the Advent Calendar in Y11.\\", - \\"rarity\\": \\"Special\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\", - \\"updatedAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"parents_swf_assets\\", - \\"inserts\\": [ - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38913\\", - \\"remoteId\\": \\"14855\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38912\\", - \\"remoteId\\": \\"14856\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"38911\\", - \\"remoteId\\": \\"14857\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"43014\\", - \\"remoteId\\": \\"36414\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"43397\\", - \\"remoteId\\": \\"39646\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"37229\\", - \\"remoteId\\": \\"51959\\" - }, - { - \\"parentType\\": \\"Item\\", - \\"parentId\\": \\"48313\\", - \\"remoteId\\": \\"56478\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"swf_assets\\", - \\"inserts\\": [ - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14855\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14855_215f367070.swf\\", - \\"zoneId\\": \\"25\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14856\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14856_46c1b32797.swf\\", - \\"zoneId\\": \\"26\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"14857\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/014/14857_d43380ef66.swf\\", - \\"zoneId\\": \\"40\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"36414\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/036/36414_1e2aaab4ad.swf\\", - \\"zoneId\\": \\"48\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"39646\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/039/39646_e129e22ada.swf\\", - \\"zoneId\\": \\"42\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"51959\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/051/51959_4439727c48.swf\\", - \\"zoneId\\": \\"45\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"56478\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/056/56478_eabc28e7c7.swf\\", - \\"zoneId\\": \\"27\\", - \\"zonesRestrict\\": \\"\\", - \\"bodyId\\": \\"180\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7942\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7942_2eab06fd7b.swf\\", - \\"zoneId\\": \\"5\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7941\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7941_2c4cc4b846.swf\\", - \\"zoneId\\": \\"15\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"24008\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/024/24008_a05fe9876a.swf\\", - \\"zoneId\\": \\"30\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"21060\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/021/21060_d77ba93b7b.swf\\", - \\"zoneId\\": \\"33\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"21057\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/021/21057_4550efbb2f.swf\\", - \\"zoneId\\": \\"34\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - }, - { - \\"type\\": \\"biology\\", - \\"remoteId\\": \\"7946\\", - \\"url\\": \\"http://images.neopets.com/cp/bio/swf/000/000/007/7946_0348dad587.swf\\", - \\"zoneId\\": \\"37\\", - \\"zonesRestrict\\": \\"0000000000000000000000000000000000000000000000000000\\", - \\"bodyId\\": \\"0\\", - \\"createdAt\\": \\"2020-01-01T00:00:00.000Z\\" - } - ], - \\"updates\\": [ - { - \\"incomingRow\\": { - \\"type\\": \\"object\\", - \\"remoteId\\": \\"6829\\", - \\"url\\": \\"http://images.neopets.com/cp/items/swf/000/000/006/6829_1707e50385.swf\\", - \\"zoneId\\": \\"3\\", - \\"zonesRestrict\\": \\"\\" - }, - \\"update\\": { - \\"bodyId\\": \\"0\\" - } - } - ] - }, - { - \\"tableName\\": \\"parents_swf_assets\\", - \\"inserts\\": [ - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"9\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"10\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"11\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"12\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"13\\" - }, - { - \\"parentType\\": \\"PetState\\", - \\"parentId\\": \\"1\\", - \\"swfAssetId\\": \\"14\\" - } - ], - \\"updates\\": [] - }, - { - \\"tableName\\": \\"pet_states\\", - \\"inserts\\": [ - { - \\"petTypeId\\": \\"1\\", - \\"swfAssetIds\\": \\"7941,7942,7946,21057,21060,24008\\", - \\"female\\": 0, - \\"moodId\\": \\"2\\", - \\"unconverted\\": 0, - \\"labeled\\": 1 - } - ], - \\"updates\\": [] - } -]", - "roopal27", - ], - ], -] -`; diff --git a/src/server/query-tests/__snapshots__/PetAppearance.test.js.snap b/src/server/query-tests/__snapshots__/PetAppearance.test.js.snap deleted file mode 100644 index 0f5821f..0000000 --- a/src/server/query-tests/__snapshots__/PetAppearance.test.js.snap +++ /dev/null @@ -1,1337 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`PetAppearance loads for species and color 1`] = ` -Object { - "petAppearance": Object { - "color": Object { - "id": "75", - "isStandard": true, - "name": "Starry", - }, - "id": "17723", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "svgUrl": "http://images.neopets.com/cp/bio/data/000/000/007/7941_2c4cc4b846/7941.svg", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "svgUrl": "http://images.neopets.com/cp/bio/data/000/000/007/7942_2eab06fd7b/7942.svg", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "svgUrl": "http://images.neopets.com/cp/bio/data/000/000/007/7946_0348dad587/7946.svg", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "svgUrl": "http://images.neopets.com/cp/bio/data/000/000/024/24008_a05fe9876a/24008.svg", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19784", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28892/600x600.png?v2-1313418652000", - "svgUrl": "http://images.neopets.com/cp/bio/data/000/000/028/28892_a8e3a8b430/28892.svg", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "178150", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/036/36887/600x600.png?v2-1354240708000", - "svgUrl": "http://images.neopets.com/cp/bio/data/000/000/036/36887_a335fbba09/36887.svg", - "zone": Object { - "depth": 38, - }, - }, - ], - "restrictedZones": Array [], - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, -} -`; - -exports[`PetAppearance loads multiple for species and color 1`] = ` -Object { - "petAppearances": Array [ - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "17723", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19784", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28892/600x600.png?v2-1313418652000", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "178150", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/036/36887/600x600.png?v2-1354240708000", - "zone": Object { - "depth": 38, - }, - }, - ], - "petStateId": "17723", - "pose": "HAPPY_FEM", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "17742", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19549", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28548/600x600.png?v2-1345719457000", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "178150", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/036/36887/600x600.png?v2-1354240708000", - "zone": Object { - "depth": 38, - }, - }, - ], - "petStateId": "17742", - "pose": "HAPPY_MASC", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "5991", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "14790", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21057/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "14793", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21061/600x600.png?v2-0", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - ], - "petStateId": "5991", - "pose": "SAD_FEM", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "436", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "14790", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21057/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "14792", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21060/600x600.png?v2-0", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - ], - "petStateId": "436", - "pose": "SAD_MASC", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "10014", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "14791", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21059/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "14795", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21066/600x600.png?v2-0", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - ], - "petStateId": "10014", - "pose": "SICK_FEM", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "11089", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "14791", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21059/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "14794", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21064/600x600.png?v2-0", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - ], - "petStateId": "11089", - "pose": "SICK_MASC", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "4751", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19550", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28549/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "19784", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28892/600x600.png?v2-1313418652000", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "163528", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28549/600x600.png?v2-1326455337000", - "zone": Object { - "depth": 38, - }, - }, - ], - "petStateId": "4751", - "pose": "UNKNOWN", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "2", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19549", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28548/600x600.png?v2-1345719457000", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "19550", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28549/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "163528", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28549/600x600.png?v2-1326455337000", - "zone": Object { - "depth": 38, - }, - }, - ], - "petStateId": "2", - "pose": "UNKNOWN", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - ], -} -`; - -exports[`PetAppearance loads unconverted appearance 1`] = ` -Object { - "petAppearance": Object { - "color": Object { - "id": "63", - "isStandard": true, - "name": "Royalboy", - }, - "id": "2571", - "layers": Array [ - Object { - "id": "9941", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/013/13024/600x600.png?v2-0", - "svgUrl": "http://images.neopets.com/cp/bio/data/000/000/013/13024_18911a85d1/13024.svg", - "zone": Object { - "depth": 48, - }, - }, - ], - "restrictedZones": Array [ - Object { - "id": "4", - }, - Object { - "id": "5", - }, - Object { - "id": "6", - }, - Object { - "id": "7", - }, - Object { - "id": "8", - }, - Object { - "id": "9", - }, - Object { - "id": "10", - }, - Object { - "id": "11", - }, - Object { - "id": "12", - }, - Object { - "id": "13", - }, - Object { - "id": "14", - }, - Object { - "id": "15", - }, - Object { - "id": "16", - }, - Object { - "id": "17", - }, - Object { - "id": "18", - }, - Object { - "id": "19", - }, - Object { - "id": "20", - }, - Object { - "id": "21", - }, - Object { - "id": "22", - }, - Object { - "id": "23", - }, - Object { - "id": "24", - }, - Object { - "id": "25", - }, - Object { - "id": "26", - }, - Object { - "id": "27", - }, - Object { - "id": "28", - }, - Object { - "id": "29", - }, - Object { - "id": "30", - }, - Object { - "id": "31", - }, - Object { - "id": "32", - }, - Object { - "id": "33", - }, - Object { - "id": "34", - }, - Object { - "id": "35", - }, - Object { - "id": "36", - }, - Object { - "id": "37", - }, - Object { - "id": "38", - }, - Object { - "id": "39", - }, - Object { - "id": "40", - }, - Object { - "id": "41", - }, - Object { - "id": "42", - }, - Object { - "id": "43", - }, - ], - "species": Object { - "id": "1", - "name": "Acara", - }, - }, -} -`; - -exports[`PetAppearance loads unconverted appearance 3`] = ` -Object { - "petAppearances": Array [ - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "17723", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19784", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28892/600x600.png?v2-1313418652000", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "178150", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/036/36887/600x600.png?v2-1354240708000", - "zone": Object { - "depth": 38, - }, - }, - ], - "petStateId": "17723", - "pose": "HAPPY_FEM", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "17742", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19549", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28548/600x600.png?v2-1345719457000", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "178150", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/036/36887/600x600.png?v2-1354240708000", - "zone": Object { - "depth": 38, - }, - }, - ], - "petStateId": "17742", - "pose": "HAPPY_MASC", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "5991", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "14790", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21057/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "14793", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21061/600x600.png?v2-0", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - ], - "petStateId": "5991", - "pose": "SAD_FEM", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "436", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "14790", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21057/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "14792", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21060/600x600.png?v2-0", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - ], - "petStateId": "436", - "pose": "SAD_MASC", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "10014", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "14791", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21059/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "14795", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21066/600x600.png?v2-0", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - ], - "petStateId": "10014", - "pose": "SICK_FEM", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "11089", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "14791", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21059/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "14794", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/021/21064/600x600.png?v2-0", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - ], - "petStateId": "11089", - "pose": "SICK_MASC", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "4751", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19550", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28549/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "19784", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28892/600x600.png?v2-1313418652000", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "163528", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28549/600x600.png?v2-1326455337000", - "zone": Object { - "depth": 38, - }, - }, - ], - "petStateId": "4751", - "pose": "UNKNOWN", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - Object { - "bodyId": "180", - "color": Object { - "id": "75", - "name": "Starry", - }, - "id": "2", - "layers": Array [ - Object { - "id": "5995", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7941/600x600.png?v2-0", - "zone": Object { - "depth": 18, - }, - }, - Object { - "id": "5996", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7942/600x600.png?v2-0", - "zone": Object { - "depth": 7, - }, - }, - Object { - "id": "6000", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/007/7946/600x600.png?v2-0", - "zone": Object { - "depth": 40, - }, - }, - Object { - "id": "16467", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/024/24008/600x600.png?v2-0", - "zone": Object { - "depth": 34, - }, - }, - Object { - "id": "19549", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28548/600x600.png?v2-1345719457000", - "zone": Object { - "depth": 37, - }, - }, - Object { - "id": "19550", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28549/600x600.png?v2-0", - "zone": Object { - "depth": 38, - }, - }, - Object { - "id": "163528", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/028/28549/600x600.png?v2-1326455337000", - "zone": Object { - "depth": 38, - }, - }, - ], - "petStateId": "2", - "pose": "UNKNOWN", - "species": Object { - "id": "54", - "name": "Zafara", - }, - }, - ], -} -`; - -exports[`PetAppearance loads unconverted appearance 5`] = ` -Object { - "petAppearance": Object { - "color": Object { - "id": "63", - "isStandard": true, - "name": "Royalboy", - }, - "id": "2571", - "layers": Array [ - Object { - "id": "9941", - "imageUrl": "https://impress-asset-images.s3.amazonaws.com/biology/000/000/013/13024/600x600.png?v2-0", - "svgUrl": "http://images.neopets.com/cp/bio/data/000/000/013/13024_18911a85d1/13024.svg", - "zone": Object { - "depth": 48, - }, - }, - ], - "restrictedZones": Array [ - Object { - "id": "4", - }, - Object { - "id": "5", - }, - Object { - "id": "6", - }, - Object { - "id": "7", - }, - Object { - "id": "8", - }, - Object { - "id": "9", - }, - Object { - "id": "10", - }, - Object { - "id": "11", - }, - Object { - "id": "12", - }, - Object { - "id": "13", - }, - Object { - "id": "14", - }, - Object { - "id": "15", - }, - Object { - "id": "16", - }, - Object { - "id": "17", - }, - Object { - "id": "18", - }, - Object { - "id": "19", - }, - Object { - "id": "20", - }, - Object { - "id": "21", - }, - Object { - "id": "22", - }, - Object { - "id": "23", - }, - Object { - "id": "24", - }, - Object { - "id": "25", - }, - Object { - "id": "26", - }, - Object { - "id": "27", - }, - Object { - "id": "28", - }, - Object { - "id": "29", - }, - Object { - "id": "30", - }, - Object { - "id": "31", - }, - Object { - "id": "32", - }, - Object { - "id": "33", - }, - Object { - "id": "34", - }, - Object { - "id": "35", - }, - Object { - "id": "36", - }, - Object { - "id": "37", - }, - Object { - "id": "38", - }, - Object { - "id": "39", - }, - Object { - "id": "40", - }, - Object { - "id": "41", - }, - Object { - "id": "42", - }, - Object { - "id": "43", - }, - ], - "species": Object { - "id": "1", - "name": "Acara", - }, - }, -} -`; diff --git a/src/server/query-tests/__snapshots__/Species.test.js.snap b/src/server/query-tests/__snapshots__/Species.test.js.snap deleted file mode 100644 index dd21851..0000000 --- a/src/server/query-tests/__snapshots__/Species.test.js.snap +++ /dev/null @@ -1,283 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Species loads all species 1`] = ` -Object { - "allSpecies": Array [ - Object { - "id": "1", - "name": "Acara", - "standardBodyId": "93", - }, - Object { - "id": "2", - "name": "Aisha", - "standardBodyId": "106", - }, - Object { - "id": "3", - "name": "Blumaroo", - "standardBodyId": "47", - }, - Object { - "id": "4", - "name": "Bori", - "standardBodyId": "84", - }, - Object { - "id": "5", - "name": "Bruce", - "standardBodyId": "146", - }, - Object { - "id": "6", - "name": "Buzz", - "standardBodyId": "250", - }, - Object { - "id": "7", - "name": "Chia", - "standardBodyId": "212", - }, - Object { - "id": "8", - "name": "Chomby", - "standardBodyId": "74", - }, - Object { - "id": "9", - "name": "Cybunny", - "standardBodyId": "94", - }, - Object { - "id": "10", - "name": "Draik", - "standardBodyId": "132", - }, - Object { - "id": "11", - "name": "Elephante", - "standardBodyId": "56", - }, - Object { - "id": "12", - "name": "Eyrie", - "standardBodyId": "90", - }, - Object { - "id": "13", - "name": "Flotsam", - "standardBodyId": "136", - }, - Object { - "id": "14", - "name": "Gelert", - "standardBodyId": "138", - }, - Object { - "id": "15", - "name": "Gnorbu", - "standardBodyId": "166", - }, - Object { - "id": "16", - "name": "Grarrl", - "standardBodyId": "119", - }, - Object { - "id": "17", - "name": "Grundo", - "standardBodyId": "126", - }, - Object { - "id": "18", - "name": "Hissi", - "standardBodyId": "67", - }, - Object { - "id": "19", - "name": "Ixi", - "standardBodyId": "163", - }, - Object { - "id": "20", - "name": "Jetsam", - "standardBodyId": "147", - }, - Object { - "id": "21", - "name": "Jubjub", - "standardBodyId": "80", - }, - Object { - "id": "22", - "name": "Kacheek", - "standardBodyId": "117", - }, - Object { - "id": "23", - "name": "Kau", - "standardBodyId": "201", - }, - Object { - "id": "24", - "name": "Kiko", - "standardBodyId": "51", - }, - Object { - "id": "25", - "name": "Koi", - "standardBodyId": "208", - }, - Object { - "id": "26", - "name": "Korbat", - "standardBodyId": "196", - }, - Object { - "id": "27", - "name": "Kougra", - "standardBodyId": "143", - }, - Object { - "id": "28", - "name": "Krawk", - "standardBodyId": "150", - }, - Object { - "id": "29", - "name": "Kyrii", - "standardBodyId": "175", - }, - Object { - "id": "30", - "name": "Lenny", - "standardBodyId": "173", - }, - Object { - "id": "31", - "name": "Lupe", - "standardBodyId": "199", - }, - Object { - "id": "32", - "name": "Lutari", - "standardBodyId": "52", - }, - Object { - "id": "33", - "name": "Meerca", - "standardBodyId": "109", - }, - Object { - "id": "34", - "name": "Moehog", - "standardBodyId": "134", - }, - Object { - "id": "35", - "name": "Mynci", - "standardBodyId": "95", - }, - Object { - "id": "36", - "name": "Nimmo", - "standardBodyId": "96", - }, - Object { - "id": "37", - "name": "Ogrin", - "standardBodyId": "154", - }, - Object { - "id": "38", - "name": "Peophin", - "standardBodyId": "55", - }, - Object { - "id": "39", - "name": "Poogle", - "standardBodyId": "76", - }, - Object { - "id": "40", - "name": "Pteri", - "standardBodyId": "156", - }, - Object { - "id": "41", - "name": "Quiggle", - "standardBodyId": "78", - }, - Object { - "id": "42", - "name": "Ruki", - "standardBodyId": "191", - }, - Object { - "id": "43", - "name": "Scorchio", - "standardBodyId": "187", - }, - Object { - "id": "44", - "name": "Shoyru", - "standardBodyId": "46", - }, - Object { - "id": "45", - "name": "Skeith", - "standardBodyId": "178", - }, - Object { - "id": "46", - "name": "Techo", - "standardBodyId": "100", - }, - Object { - "id": "47", - "name": "Tonu", - "standardBodyId": "130", - }, - Object { - "id": "48", - "name": "Tuskaninny", - "standardBodyId": "188", - }, - Object { - "id": "49", - "name": "Uni", - "standardBodyId": "257", - }, - Object { - "id": "50", - "name": "Usul", - "standardBodyId": "206", - }, - Object { - "id": "51", - "name": "Wocky", - "standardBodyId": "101", - }, - Object { - "id": "52", - "name": "Xweetok", - "standardBodyId": "68", - }, - Object { - "id": "53", - "name": "Yurble", - "standardBodyId": "182", - }, - Object { - "id": "54", - "name": "Zafara", - "standardBodyId": "180", - }, - Object { - "id": "55", - "name": "Vandagyre", - "standardBodyId": "306", - }, - ], -} -`; diff --git a/src/server/query-tests/__snapshots__/User.test.js.snap b/src/server/query-tests/__snapshots__/User.test.js.snap deleted file mode 100644 index a17d006..0000000 --- a/src/server/query-tests/__snapshots__/User.test.js.snap +++ /dev/null @@ -1,207 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`User gets public and private closet lists for current user: data 1`] = ` -Object { - "user": Object { - "closetLists": Array [ - Object { - "id": "184791", - "isDefaultList": false, - "items": Array [ - Object { - "id": "39948", - "name": "Altador Cup Background - Lost Desert", - }, - ], - "name": "A Private Own List", - "ownsOrWantsItems": "OWNS", - }, - Object { - "id": "184793", - "isDefaultList": false, - "items": Array [ - Object { - "id": "39945", - "name": "Altador Cup Background - Haunted Woods", - }, - ], - "name": "A Private Want List", - "ownsOrWantsItems": "WANTS", - }, - Object { - "id": "184790", - "isDefaultList": false, - "items": Array [ - Object { - "id": "39955", - "name": "Altador Cup Background - Virtupets", - }, - ], - "name": "A Public Own List", - "ownsOrWantsItems": "OWNS", - }, - Object { - "id": "184792", - "isDefaultList": false, - "items": Array [ - Object { - "id": "39947", - "name": "Altador Cup Background - Shenkuu", - }, - ], - "name": "A Public Want List", - "ownsOrWantsItems": "WANTS", - }, - Object { - "id": "user-44743-default-list-OWNS", - "isDefaultList": true, - "items": Array [ - Object { - "id": "74967", - "name": "17th Birthday Party Hat", - }, - Object { - "id": "49026", - "name": "Abominable Snowman Hat", - }, - Object { - "id": "40319", - "name": "Blue Jelly Tiara", - }, - ], - "name": "Not in a list", - "ownsOrWantsItems": "OWNS", - }, - Object { - "id": "user-44743-default-list-WANTS", - "isDefaultList": true, - "items": Array [ - Object { - "id": "39956", - "name": "Altador Cup Background - Kreludor", - }, - ], - "name": "Not in a list", - "ownsOrWantsItems": "WANTS", - }, - ], - "id": "44743", - "username": "dti-test", - }, -} -`; - -exports[`User gets public and private closet lists for current user: db 1`] = ` -Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "44743", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "44743", - ], - ], - Array [ - "SELECT * FROM closet_lists - WHERE user_id IN (?) - ORDER BY name", - Array [ - "44743", - ], - ], - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?,?,?,?,?,?,?) AND locale = \\"en\\"", - Array [ - "39948", - "39945", - "39955", - "39947", - "74967", - "49026", - "40319", - "39956", - ], - ], -] -`; - -exports[`User gets public closet lists, but not private, for other users: data 1`] = ` -Object { - "user": Object { - "closetLists": Array [ - Object { - "id": "184790", - "isDefaultList": false, - "items": Array [ - Object { - "id": "39955", - "name": "Altador Cup Background - Virtupets", - }, - ], - "name": "A Public Own List", - "ownsOrWantsItems": "OWNS", - }, - Object { - "id": "184792", - "isDefaultList": false, - "items": Array [ - Object { - "id": "39947", - "name": "Altador Cup Background - Shenkuu", - }, - ], - "name": "A Public Want List", - "ownsOrWantsItems": "WANTS", - }, - ], - "id": "44743", - "username": "dti-test", - }, -} -`; - -exports[`User gets public closet lists, but not private, for other users: db 1`] = ` -Array [ - Array [ - "SELECT * FROM users WHERE id IN (?)", - Array [ - "44743", - ], - ], - Array [ - "SELECT closet_hangers.*, item_translations.name as item_name FROM closet_hangers - INNER JOIN items ON items.id = closet_hangers.item_id - INNER JOIN item_translations ON - item_translations.item_id = items.id AND locale = \\"en\\" - WHERE user_id IN (?) - ORDER BY item_name", - Array [ - "44743", - ], - ], - Array [ - "SELECT * FROM closet_lists - WHERE user_id IN (?) - ORDER BY name", - Array [ - "44743", - ], - ], - Array [ - "SELECT * FROM item_translations WHERE item_id IN (?,?) AND locale = \\"en\\"", - Array [ - "39955", - "39947", - ], - ], -] -`; diff --git a/src/server/query-tests/setup.js b/src/server/query-tests/setup.js deleted file mode 100644 index 7a28ffd..0000000 --- a/src/server/query-tests/setup.js +++ /dev/null @@ -1,201 +0,0 @@ -import fs from "fs"; -import path from "path"; -import { ApolloServer } from "apollo-server"; -import { createTestClient } from "apollo-server-testing"; -import { AuthenticationClient } from "auth0"; -import auth from "../auth"; -const actualAuth = jest.requireActual("../auth"); -import connectToDb from "../db"; -const actualConnectToDb = jest.requireActual("../db"); -import { config } from "../index"; - -let accessTokenForQueries = null; - -const { query, mutate } = createTestClient( - new ApolloServer({ - ...config, - context: () => - config.context({ - req: { - headers: { - authorization: accessTokenForQueries - ? `Bearer ${accessTokenForQueries}` - : undefined, - }, - }, - }), - }) -); - -// Spy on db.execute, so we can snapshot the queries we run. This can help us -// keep an eye on perf - watch for tests with way too many queries! -jest.mock("../db"); -let dbExecuteFn; -let db; -let dbEnvironment = "production"; -let dbSetupDone = false; -const dbSetupScripts = [ - fs - .readFileSync( - path.join(__dirname, "../../../scripts/setup-mysql-dev-constants.sql") - ) - .toString(), - fs - .readFileSync( - path.join(__dirname, "../../../scripts/setup-mysql-dev-schema.sql") - ) - .toString(), -]; -beforeAll(() => { - connectToDb.mockImplementation(async () => { - let options; - - if (dbEnvironment === "test") { - options = { - host: "localhost", - user: "impress_2020_test", - password: "impress_2020_test", - database: "impress_2020_test", - }; - } - - db = await actualConnectToDb(options); - - if (dbEnvironment === "test" && !dbSetupDone) { - for (const script of dbSetupScripts) { - await db.query(script); - } - } - dbSetupDone = true; - - dbExecuteFn = jest.spyOn(db, "execute"); - return db; - }); - - // Mock out a current "now" date, for consistent snapshots - const ActualDate = Date; - const NOW = new ActualDate("2020-01-01T00:00:00.000Z"); - jest.spyOn(global, "Date").mockImplementation(() => NOW); - Date.now = () => NOW.getTime(); -}); -beforeEach(() => { - // Restore auth values to default state. - accessTokenForQueries = null; - auth.getUserIdFromToken.mockImplementation(actualAuth.getUserIdFromToken); - - // Restore db values to default state. - if (dbExecuteFn) { - dbExecuteFn.mockClear(); - } - dbEnvironment = "production"; - dbSetupDone = false; - db = null; -}); -afterAll(() => { - if (db) { - db.end(); - } - Date.mockRestore(); -}); -const getDbCalls = () => (dbExecuteFn ? dbExecuteFn.mock.calls : []); -const clearDbCalls = () => dbExecuteFn?.mockClear(); - -function useTestDb() { - if (db) { - throw new Error(`can't call useTestDb() if db mock already exists`); - } - dbEnvironment = "test"; -} - -jest.mock("../auth"); -async function logInAsTestUser() { - if (dbEnvironment === "production") { - const auth0 = new AuthenticationClient({ - domain: "openneo.us.auth0.com", - clientId: process.env.AUTH0_TEST_CLIENT_ID, - clientSecret: process.env.AUTH0_TEST_CLIENT_SECRET, - }); - - const res = await auth0.passwordGrant({ - username: "dti-test", - password: process.env.DTI_TEST_USER_PASSWORD, - audience: "https://impress-2020.openneo.net/api", - }); - - accessTokenForQueries = res.access_token; - } else if (dbEnvironment === "test") { - // Create a test user record. Most of these values don't matter. - const db = await connectToDb(); - await db.query( - `INSERT INTO users (id, name, auth_server_id, remote_id) - VALUES (1, "test-user-1", 1, 1)` - ); - - // Mock the server's auth code to return user ID 1. - auth.getUserIdFromToken.mockImplementation(async () => "1"); - accessTokenForQueries = "mock-access-token-test-user-1"; - } else { - throw new Error(`unexpected dbEnvironment ${dbEnvironment}`); - } -} - -async function createItem(id) { - if (dbEnvironment !== "test") { - throw new Error(`Please only use createItem in test db!`); - } - - const name = `Test Item ${id}`; - - const db = await connectToDb(); - await Promise.all([ - db.query( - `INSERT INTO items (id, zones_restrict, thumbnail_url, category, - type, rarity_index, price, weight_lbs) - VALUES (?, "00000000000000000000000000000000000000000000000", - "http://example.com/favicon.ico", "Clothes", "Clothes", 101, - 0, 1); - `, - [id] - ), - db.query( - `INSERT INTO item_translations (item_id, locale, name, description, - rarity) - VALUES (?, "en", ?, "This is a test item.", "Special") - `, - [id, name] - ), - ]); -} - -// Add a new `expect(res).toHaveNoErrors()` to call after GraphQL calls! -expect.extend({ - toHaveNoErrors(res) { - if (res.errors) { - return { - message: () => - `expected no GraphQL errors, but got:\n ${res.errors}`, - pass: false, - }; - } else { - return { - message: () => `expected GraphQL errors, but there were none`, - pass: true, - }; - } - }, -}); - -// Use the new modeling code, even though it's disabled in most environments, -// in order to test it. -process.env["USE_NEW_MODELING"] = "1"; - -module.exports = { - query, - mutate, - getDbCalls, - clearDbCalls, - connectToDb, - useTestDb, - logInAsTestUser, - createItem, -};