Skip to content

Commit 6320b57

Browse files
committed
Add integration test
1 parent e51db9e commit 6320b57

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

src/__tests__/areas.ts

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ describe('areas API', () => {
2222
let usa: AreaType
2323
let ca: AreaType
2424
let wa: AreaType
25+
let ak: AreaType
2526

2627
beforeAll(async () => {
2728
({ server, inMemoryDB } = await setUpServer())
@@ -38,13 +39,65 @@ describe('areas API', () => {
3839
usa = await areas.addCountry('usa')
3940
ca = await areas.addArea(user, 'CA', usa.metadata.area_id)
4041
wa = await areas.addArea(user, 'WA', usa.metadata.area_id)
42+
ak = await areas.addArea(user, 'AK', usa.metadata.area_id)
4143
})
4244

4345
afterAll(async () => {
4446
await server.stop()
4547
await inMemoryDB.close()
4648
})
4749

50+
describe('mutations', () => {
51+
it('updates sorting order and returns children in order', async () => {
52+
const updateSortingOrderQuery = `
53+
mutation ($input: [AreaSortingInput]) {
54+
updateAreasSortingOrder(input: $input)
55+
}
56+
`
57+
const updateResponse = await queryAPI({
58+
query: updateSortingOrderQuery,
59+
variables: {
60+
input: [
61+
{ areaId: wa.metadata.area_id, leftRightIndex: 3 },
62+
{ areaId: ca.metadata.area_id, leftRightIndex: 0 },
63+
{ areaId: ak.metadata.area_id, leftRightIndex: 10 }
64+
]
65+
},
66+
userUuid
67+
})
68+
69+
expect(updateResponse.statusCode).toBe(200)
70+
const sortingOrderResult = updateResponse.body.data.updateAreasSortingOrder
71+
expect(sortingOrderResult).toHaveLength(3)
72+
73+
const areaChildrenQuery = `
74+
query area($input: ID) {
75+
area(uuid: $input) {
76+
children {
77+
uuid
78+
metadata {
79+
leftRightIndex
80+
}
81+
}
82+
}
83+
}
84+
`
85+
86+
const areaChildrenResponse = await queryAPI({
87+
query: areaChildrenQuery,
88+
variables: { input: usa.metadata.area_id },
89+
userUuid
90+
})
91+
92+
expect(areaChildrenResponse.statusCode).toBe(200)
93+
const areaResult = areaChildrenResponse.body.data.area
94+
// In leftRightIndex order
95+
expect(areaResult.children[0]).toMatchObject({ uuid: muuidToString(ca.metadata.area_id), metadata: { leftRightIndex: 0 } })
96+
expect(areaResult.children[1]).toMatchObject({ uuid: muuidToString(wa.metadata.area_id), metadata: { leftRightIndex: 3 } })
97+
expect(areaResult.children[2]).toMatchObject({ uuid: muuidToString(ak.metadata.area_id), metadata: { leftRightIndex: 10 } })
98+
})
99+
})
100+
48101
describe('queries', () => {
49102
const areaQuery = `
50103
query area($input: ID) {

0 commit comments

Comments
 (0)