all files / tests/dummy/app/adapters/ car.js

100% Statements 22/22
100% Branches 16/16
100% Functions 4/4
100% Lines 22/22
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53          10× 10×   10×           10×           10×               10×                
import JSONAPIAdapter from 'ember-data/adapters/json-api';
import { AdapterMixin } from 'ember-custom-actions';
 
export default JSONAPIAdapter.extend(AdapterMixin, {
  urlForCustomAction(modelName, id, snapshot, requestType) {
    let { adapterOptions: { suffix } } = snapshot;
    suffix = suffix || '';
 
    if (requestType === 'clean') {
      let baseUrl = this.buildURL(modelName, id, snapshot, requestType);
      return `${baseUrl}/custom-clean`;
    } else if (requestType === 'fix') {
      return `/custom-cars/${id}/custom-fix${suffix}`;
    } else if (requestType === 'clean-all') {
      let baseUrl = this.buildURL(modelName, id, snapshot, requestType);
      return `${baseUrl}/custom-clean-all`;
    } else if (requestType === 'fixAll') {
      return `/custom-cars/custom-fix-all${suffix}`;
    }
 
    return this._super(...arguments);
  },
 
  methodForCustomAction({ actionId }) {
    if (actionId === 'clean') {
      return 'PATCH';
    }
 
    return this._super(...arguments);
  },
 
  headersForCustomAction({ actionId }) {
    if (actionId === 'clean') {
      return {
        myHeader: 'custom header'
      };
    }
 
    return this._super(...arguments);
  },
 
  dataForCustomAction({ actionId }) {
    if (actionId === 'clean') {
      return {
        customParam: 'custom param'
      };
    }
 
    return this._super(...arguments);
  }
});