mirror of
https://github.com/nowcommunity/nowdatabase.git
synced 2026-10-12 19:13:52 +03:00
better error handling, error responses and tests
This commit is contained in:
@@ -60,6 +60,6 @@ describe('Creating new species works', () => {
|
||||
const res = await send('species', 'PUT', {
|
||||
species: { ...newSpeciesWithoutRequiredFields, comment: 'species test' },
|
||||
})
|
||||
expect(res.status).toEqual(400)
|
||||
expect(res.status).toEqual(403)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -27,7 +27,7 @@ router.put(
|
||||
const { comment, references, ...editedSpecies } = req.body.species
|
||||
const validationErrors = validateEntireSpecies(editedSpecies)
|
||||
if (validationErrors.length > 0) {
|
||||
return res.status(400).send()
|
||||
return res.status(403).send(validationErrors)
|
||||
}
|
||||
const species_id = await writeSpecies(editedSpecies, comment, references, req.user!.initials)
|
||||
return res.status(200).send({ species_id })
|
||||
|
||||
@@ -3,7 +3,7 @@ describe("Species validators work", () => {
|
||||
cy.login('testSu')
|
||||
})
|
||||
|
||||
it.skip("Creating a species with missing required fields does not work", () => {
|
||||
it("Creating a species with missing required fields does not work", () => {
|
||||
cy.visit('/species/new')
|
||||
cy.contains("This field is required")
|
||||
cy.get('[id=write-button]').click()
|
||||
|
||||
@@ -49,8 +49,18 @@ export const SpeciesDetails = () => {
|
||||
}
|
||||
|
||||
const onWrite = async (editData: EditDataType<SpeciesDetailsType>) => {
|
||||
try {
|
||||
const { species_id } = await editSpeciesRequest(editData).unwrap()
|
||||
setTimeout(() => navigate(`/species/${species_id}`), 15)
|
||||
} catch (e: any) {
|
||||
console.log(e)
|
||||
let message = 'Could not save item. Missing: '
|
||||
Object.keys(e.data).forEach(key => {
|
||||
message += `${e.data[key].name}. `
|
||||
})
|
||||
console.log(message)
|
||||
notify(message, 'error')
|
||||
}
|
||||
}
|
||||
|
||||
const tabs: TabType[] = [
|
||||
|
||||
Reference in New Issue
Block a user