test("status must be 3XX, 4XX or 5XX", function(assert) {
      const mock = new MockRequest('user');

      assert.throws(() => mock.fails({status: 201}));
      assert.throws(() => mock.fails({status: 292}));
      assert.throws(() => mock.fails({status: 104}));

      assert.ok(mock.fails({status: 300}) instanceof MockRequest);
      assert.ok(mock.fails({status: 303}) instanceof MockRequest);
      assert.ok(mock.fails({status: 401}) instanceof MockRequest);
      assert.ok(mock.fails({status: 521}) instanceof MockRequest);
    });
    test("with convertErrors set to false, does not convert errors", function(assert) {
      const mock = new MockRequest('user');
      let errors = {errors: {phrase: 'poorly worded'}};

      mock.fails({response: errors, convertErrors: false});
      assert.deepEqual(mock.errorResponse, errors);
    });
    test("with convertErrors not set, the errors are converted to JSONAPI formatted errors", function(assert) {
      const mock = new MockRequest('user');
      let errors = {errors: {phrase: 'poorly worded'}};

      mock.fails({response: errors});
      assert.deepEqual(mock.errorResponse, {
        errors: [
          {
            detail: 'poorly worded',
            source: {pointer: "data/attributes/phrase"},
            title: 'invalid phrase'
          }
        ]
      });
    });
 assert.throws(() => mock.fails({response: errors, convertErrors: true}));
 assert.throws(() => mock.fails({status: 104}));
 assert.throws(() => mock.fails({status: 292}));