Skip to content

Commit

Permalink
Add integration test
Browse files Browse the repository at this point in the history
  • Loading branch information
zichongkao committed May 21, 2023
1 parent e51db9e commit 6320b57
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions src/__tests__/areas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ describe('areas API', () => {
let usa: AreaType
let ca: AreaType
let wa: AreaType
let ak: AreaType

beforeAll(async () => {
({ server, inMemoryDB } = await setUpServer())
Expand All @@ -38,13 +39,65 @@ describe('areas API', () => {
usa = await areas.addCountry('usa')
ca = await areas.addArea(user, 'CA', usa.metadata.area_id)
wa = await areas.addArea(user, 'WA', usa.metadata.area_id)
ak = await areas.addArea(user, 'AK', usa.metadata.area_id)
})

afterAll(async () => {
await server.stop()
await inMemoryDB.close()
})

describe('mutations', () => {
it('updates sorting order and returns children in order', async () => {
const updateSortingOrderQuery = `
mutation ($input: [AreaSortingInput]) {
updateAreasSortingOrder(input: $input)
}
`
const updateResponse = await queryAPI({
query: updateSortingOrderQuery,
variables: {
input: [
{ areaId: wa.metadata.area_id, leftRightIndex: 3 },
{ areaId: ca.metadata.area_id, leftRightIndex: 0 },
{ areaId: ak.metadata.area_id, leftRightIndex: 10 }
]
},
userUuid
})

expect(updateResponse.statusCode).toBe(200)
const sortingOrderResult = updateResponse.body.data.updateAreasSortingOrder
expect(sortingOrderResult).toHaveLength(3)

const areaChildrenQuery = `
query area($input: ID) {
area(uuid: $input) {
children {
uuid
metadata {
leftRightIndex
}
}
}
}
`

const areaChildrenResponse = await queryAPI({
query: areaChildrenQuery,
variables: { input: usa.metadata.area_id },
userUuid
})

expect(areaChildrenResponse.statusCode).toBe(200)
const areaResult = areaChildrenResponse.body.data.area
// In leftRightIndex order
expect(areaResult.children[0]).toMatchObject({ uuid: muuidToString(ca.metadata.area_id), metadata: { leftRightIndex: 0 } })
expect(areaResult.children[1]).toMatchObject({ uuid: muuidToString(wa.metadata.area_id), metadata: { leftRightIndex: 3 } })
expect(areaResult.children[2]).toMatchObject({ uuid: muuidToString(ak.metadata.area_id), metadata: { leftRightIndex: 10 } })
})
})

describe('queries', () => {
const areaQuery = `
query area($input: ID) {
Expand Down

0 comments on commit 6320b57

Please sign in to comment.