Skip to content

Commit

Permalink
Merge pull request #318 from garageScript/refactor
Browse files Browse the repository at this point in the history
Apply Proper REST CONVENTION for Patch and Delete Fix #316
  • Loading branch information
songz authored Dec 7, 2019
2 parents fc4b436 + 709d85d commit bc930d1
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 28 deletions.
2 changes: 1 addition & 1 deletion src/api/mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ mappingRouter.get('/', (req, res) => {
res.json(domains)
})

mappingRouter.delete('/delete/:id', async (req, res) => {
mappingRouter.delete('/:id', async (req, res) => {
const domains = getMappings()
const deletedDomain = domains.find(e => e.id === req.params.id)
const updatedDomains = domains.filter(e => {
Expand Down
2 changes: 1 addition & 1 deletion src/public/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class MappingItem {
const delButton = helper.getElement('.deleteButton', mappingElement)
delButton.onclick = (): void => {
if (confirm('Are you sure want to delete this domain?')) {
fetch(`/api/mappings/delete/${data.id}`, {
fetch(`/api/mappings/${data.id}`, {
method: 'DELETE',
body: JSON.stringify({ data }),
headers: {
Expand Down
50 changes: 24 additions & 26 deletions src/tests/integration/mapping.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,7 @@ describe('/api', () => {
expect(postMapping.subDomain).toEqual(subDomain)
expect(postMapping.domain).toEqual(domain)
expect(postMapping.fullDomain).toEqual(`${subDomain}.${domain}`)
const deleteResponse = await mappingAdapter(
`/delete/${postMapping.id}`,
'DELETE'
)
const deleteResponse = await mappingAdapter(`/${postMapping.id}`, 'DELETE')
expect(deleteResponse.status).toEqual(200)
const getMapping = await mappingAdapter(`/${postMapping.id}`, 'GET')
expect(getMapping.status).toEqual(200)
Expand Down Expand Up @@ -64,10 +61,7 @@ describe('/api', () => {
expect(mappingData.subDomain).toEqual(subDomain)
expect(mappingData.fullDomain).toEqual(`${domain}`)

const deleteResponse = await mappingAdapter(
`/delete/${postMapping.id}`,
'DELETE'
)
const deleteResponse = await mappingAdapter(`/${postMapping.id}`, 'DELETE')
expect(deleteResponse.status).toEqual(200)
})

Expand All @@ -82,7 +76,7 @@ describe('/api', () => {
})
expect(createMapping.status).toEqual(200)
const mapping = await createMapping.json()
const delMapping = await mappingAdapter(`/delete/${mapping.id}`, 'DELETE')
const delMapping = await mappingAdapter(`/${mapping.id}`, 'DELETE')
expect(delMapping.status).toEqual(200)
const deletedMapping = await delMapping.json()
expect(deletedMapping.port).toEqual(port)
Expand Down Expand Up @@ -113,11 +107,9 @@ describe('/api', () => {
})
expect(duplicatePostResponse.status).toEqual(400)
const postMapping = await postResponse.json()
const deleteResponse = await mappingAdapter(
`/delete/${postMapping.id}`,
'DELETE'
)
const deleteResponse = await mappingAdapter(`/${postMapping.id}`, 'DELETE')
expect(deleteResponse.status).toEqual(200)

const getMapping = await mappingAdapter(`/${postMapping.id}`, 'GET')
expect(getMapping.status).toEqual(200)
const mappingData = await getMapping.json()
Expand All @@ -128,25 +120,31 @@ describe('/api', () => {
const subDomain = `testing${uuidv4()}`
const domain = 'VinDiesel'
const port = '3522'
const postResponse = await mappingAdapter('/', 'POST', {
await mappingAdapter('/', 'POST', {
domain,
subDomain,
port
})

const secondDomain = 'PaulWalker'
const nextPort = '3523'
const secondResponse = await mappingAdapter('/', 'POST', {
secondDomain,
subDomain,
nextPort
await mappingAdapter('/', 'POST', {
subDomain: secondDomain,
port: nextPort,
domain
})
expect(secondResponse.status).toEqual(200)
const getMapping = await mappingAdapter('/', 'GET')
const getMappingResponse = await getMapping.json()
const postMap = await postResponse.json()
const secondPostMap = await secondResponse.json()
expect(getMappingResponse).toEqual([postMap, secondPostMap])
await mappingAdapter(`/delete/${getMappingResponse[0].id}`, 'DELETE')
await mappingAdapter(`/delete/${getMappingResponse[1].id}`, 'DELETE')

const mappingResponse = await mappingAdapter('/', 'GET')
const mappings = await mappingResponse.json()

const firstFullDomain = `${subDomain}.${domain}`
const secondFullDomain = `${secondDomain}.${domain}`
const match1 = mappings.find(e => e.fullDomain === firstFullDomain)
const match2 = mappings.find(e => e.fullDomain === secondFullDomain)

expect(match1.fullDomain).toEqual(firstFullDomain)
expect(match2.fullDomain).toEqual(secondFullDomain)
await mappingAdapter(`/${match1.id}`, 'DELETE')
await mappingAdapter(`/${match2.id}`, 'DELETE')
})
})

0 comments on commit bc930d1

Please sign in to comment.