4232561a38
ui: Repo layer integration tests for methods that touch the API Includes a `repo` test helper to make repetitive tasks easier, plus a injectable reporter for sending performance metrics to a centralized metrics system Also noticed somewhere in the ember models that I'd like to improve, but left for the moment to make sure I concentrate on one task at a time, more or less: The tests currently asserts against the existing JSON tree, which doesn't seem to be a very nice tree. The work at hand here is to refactor what is there, so test for the not nice tree to ensure we don't get any regression, and add a skipped test so I can come back here later
30 lines
1 KiB
JavaScript
30 lines
1 KiB
JavaScript
import Model from 'ember-data/model';
|
|
import attr from 'ember-data/attr';
|
|
import { computed, get } from '@ember/object';
|
|
import isFolder from 'consul-ui/utils/isFolder';
|
|
|
|
export const PRIMARY_KEY = 'uid';
|
|
// not really a slug as it contains slashes but all intents and purposes
|
|
// its my 'slug'
|
|
export const SLUG_KEY = 'Key';
|
|
|
|
export default Model.extend({
|
|
[PRIMARY_KEY]: attr('string'),
|
|
[SLUG_KEY]: attr('string'),
|
|
LockIndex: attr('number'),
|
|
Flags: attr('number'),
|
|
// TODO: Consider defaulting all strings to '' because `typeof null !== 'string'`
|
|
// look into what other transformers do with `null` also
|
|
// preferably removeNull would be done in this layer also as if a property is `null`
|
|
// default Values don't kick in, which also explains `Tags` elsewhere
|
|
Value: attr('string'), //, {defaultValue: function() {return '';}}
|
|
CreateIndex: attr('number'),
|
|
ModifyIndex: attr('number'),
|
|
Session: attr('string'),
|
|
Datacenter: attr('string'),
|
|
|
|
isFolder: computed('Key', function() {
|
|
return isFolder(get(this, 'Key') || '');
|
|
}),
|
|
});
|