Fixes #301 Add remediation suggestion to 404 errors
This commit is contained in:
@@ -29,6 +29,31 @@ describe('ErrorMessage', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('has error with remediation', () => {
|
||||||
|
it('provides remediation with 404 without errors', () => {
|
||||||
|
const error = { status: 404, message: "message" }
|
||||||
|
const githubError = new GithubError(error)
|
||||||
|
expect(githubError.toString())
|
||||||
|
.toBe('Error 404: message\nMake sure your github token has access to the repo and has permission to author releases')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('provides remediation with 404 with errors', () => {
|
||||||
|
const error = {
|
||||||
|
message: 'message',
|
||||||
|
errors: [
|
||||||
|
{
|
||||||
|
code: 'missing',
|
||||||
|
resource: 'release'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
status: 404
|
||||||
|
}
|
||||||
|
const githubError = new GithubError(error)
|
||||||
|
expect(githubError.toString())
|
||||||
|
.toBe('Error 404: message\nErrors:\n- release does not exist.\nMake sure your github token has access to the repo and has permission to author releases')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
it('generates message with errors', () => {
|
it('generates message with errors', () => {
|
||||||
const error = {
|
const error = {
|
||||||
message: 'something bad happened',
|
message: 'something bad happened',
|
||||||
|
|||||||
460
dist/index.js
vendored
460
dist/index.js
vendored
File diff suppressed because it is too large
Load Diff
2
dist/index.js.map
vendored
2
dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/sourcemap-register.js
vendored
2
dist/sourcemap-register.js
vendored
File diff suppressed because one or more lines are too long
@@ -27,14 +27,20 @@ class GithubError {
|
|||||||
const errors = this.githubErrors;
|
const errors = this.githubErrors;
|
||||||
const status = this.status;
|
const status = this.status;
|
||||||
if (errors.length > 0) {
|
if (errors.length > 0) {
|
||||||
return `Error ${status}: ${message}\nErrors:\n${this.errorBulletedList(errors)}`;
|
return `Error ${status}: ${message}\nErrors:\n${this.errorBulletedList(errors)}${this.remediation()}`;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return `Error ${status}: ${message}`;
|
return `Error ${status}: ${message}${this.remediation()}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
errorBulletedList(errors) {
|
errorBulletedList(errors) {
|
||||||
return errors.map((err) => `- ${err}`).join("\n");
|
return errors.map((err) => `- ${err}`).join("\n");
|
||||||
}
|
}
|
||||||
|
remediation() {
|
||||||
|
if (this.status == 404) {
|
||||||
|
return "\nMake sure your github token has access to the repo and has permission to author releases";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
exports.GithubError = GithubError;
|
exports.GithubError = GithubError;
|
||||||
|
|||||||
@@ -31,14 +31,21 @@ export class GithubError {
|
|||||||
const errors = this.githubErrors
|
const errors = this.githubErrors
|
||||||
const status = this.status
|
const status = this.status
|
||||||
if (errors.length > 0) {
|
if (errors.length > 0) {
|
||||||
return `Error ${status}: ${message}\nErrors:\n${this.errorBulletedList(errors)}`
|
return `Error ${status}: ${message}\nErrors:\n${this.errorBulletedList(errors)}${this.remediation()}`
|
||||||
} else {
|
} else {
|
||||||
return `Error ${status}: ${message}`
|
return `Error ${status}: ${message}${this.remediation()}`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private errorBulletedList(errors: GithubErrorDetail[]): string {
|
private errorBulletedList(errors: GithubErrorDetail[]): string {
|
||||||
return errors.map((err) => `- ${err}`).join("\n")
|
return errors.map((err) => `- ${err}`).join("\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private remediation(): String {
|
||||||
|
if (this.status == 404) {
|
||||||
|
return "\nMake sure your github token has access to the repo and has permission to author releases"
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user