forked from OpenNeo/impress-2020
Ok cool, so apparently another win we get from using `ts-node` is that I can finally easily use some non-native-Node features like ES module import syntax, for consistency with what I'm doing in the main app source! That was getting on my nerves tbh. Ooh I bet I can finally use `?.` too, I've had to rewrite that a bunch…
253 lines
6.7 KiB
JavaScript
253 lines
6.7 KiB
JavaScript
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",
|
|
],
|
|
],
|
|
]
|
|
`);
|
|
});
|
|
});
|