PluginProbe
Extendify / 3.1.0
Extendify v3.1.0
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
extendify / tests / unit / QuickEdit / lib / errors.test.js

errors.test.js in Extendify 3.1.0, at tests/unit/QuickEdit/lib/errors.test.js

39 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 // friendlyMessage collapses any Quick Edit save/load error down to one of two
2 // user-facing strings: an expired-session message when WP core rejects the
3 // REST nonce (rest_cookie_invalid_nonce), and a generic catch-all for
4 // everything else. The raw err.message keeps flowing to insights via track();
5 // only the displayed string is collapsed here.
6
7 import { friendlyMessage } from '@quick-edit/lib/errors';
8
9 const GENERIC =
10 'Sorry, something went wrong. Please try again or try editing something else.';
11 const SESSION = 'Your session expired. Please refresh the page and try again.';
12
13 describe('friendlyMessage', () => {
14 it('returns the session-expiry message for a rest_cookie_invalid_nonce body', () => {
15 const err = new Error('Cookie check failed');
16 err.status = 403;
17 err.body = {
18 code: 'rest_cookie_invalid_nonce',
19 message: 'Cookie check failed',
20 };
21 expect(friendlyMessage(err)).toBe(SESSION);
22 });
23
24 it('returns the generic message for a raw backend error body', () => {
25 const err = new Error('rawBlock must parse to exactly one block');
26 err.status = 400;
27 err.body = { error: 'rawBlock must parse to exactly one block' };
28 expect(friendlyMessage(err)).toBe(GENERIC);
29 });
30
31 it('returns the generic message for an error with no body', () => {
32 expect(friendlyMessage(new Error('Splice failed'))).toBe(GENERIC);
33 });
34
35 it('returns the generic message when called with no error', () => {
36 expect(friendlyMessage()).toBe(GENERIC);
37 });
38 });
39