From 9de93247ee5ed567431bfcabbb33afb65bfcd69c Mon Sep 17 00:00:00 2001 From: Susmitha Girumala Date: Mon, 22 Jun 2020 14:25:01 -0400 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=A4=96=20Add=20group=20model=20t?= =?UTF-8?q?o=20api=20addon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/api/addon/generated/models/group.js | 36 +++++++++++++++++ addons/api/addon/generated/models/role.js | 2 +- addons/api/addon/models/group.js | 3 ++ addons/api/app/models/group.js | 1 + addons/api/tests/unit/models/group-test.js | 45 ++++++++++++++++++++++ 5 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 addons/api/addon/generated/models/group.js create mode 100644 addons/api/addon/models/group.js create mode 100644 addons/api/app/models/group.js create mode 100644 addons/api/tests/unit/models/group-test.js diff --git a/addons/api/addon/generated/models/group.js b/addons/api/addon/generated/models/group.js new file mode 100644 index 000000000..bce0d1076 --- /dev/null +++ b/addons/api/addon/generated/models/group.js @@ -0,0 +1,36 @@ +import BaseModel from '../../models/base'; +import { attr } from '@ember-data/model'; + +/** + * Group contains all fields related to a Group resource +*/ +export default class GeneratedGroupModel extends BaseModel { + // = attributes + + @attr('string', { + description: 'Optional name for identification purposes', + }) + name; + + @attr('string', { + description: 'Optional user-set description for identification purposes', + }) + description; + + @attr('date', { + description: 'The time this resource was created\nOutput only.', + readOnly: true, + }) + created_time; + + @attr('date', { + description: 'The time this resource was last updated\nOutput only.', + readOnly: true, + }) + updated_time; + + @attr('boolean', { + description: 'Whether the resource is disabled', + }) + disabled; +} diff --git a/addons/api/addon/generated/models/role.js b/addons/api/addon/generated/models/role.js index d774f5594..254005ed5 100644 --- a/addons/api/addon/generated/models/role.js +++ b/addons/api/addon/generated/models/role.js @@ -2,7 +2,7 @@ import BaseModel from '../../models/base'; import { attr } from '@ember-data/model'; /** - * Contains a Role resource + * Role contains all fields related to a Role resource */ export default class GeneratedRoleModel extends BaseModel { // = attributes diff --git a/addons/api/addon/models/group.js b/addons/api/addon/models/group.js new file mode 100644 index 000000000..899c71d0c --- /dev/null +++ b/addons/api/addon/models/group.js @@ -0,0 +1,3 @@ +import GeneratedGroupModel from '../generated/models/group'; + +export default class GroupModel extends GeneratedGroupModel {} diff --git a/addons/api/app/models/group.js b/addons/api/app/models/group.js new file mode 100644 index 000000000..7a2310592 --- /dev/null +++ b/addons/api/app/models/group.js @@ -0,0 +1 @@ +export { default } from 'api/models/group'; diff --git a/addons/api/tests/unit/models/group-test.js b/addons/api/tests/unit/models/group-test.js new file mode 100644 index 000000000..68e10f32a --- /dev/null +++ b/addons/api/tests/unit/models/group-test.js @@ -0,0 +1,45 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module('Unit | Model | group', function(hooks) { + setupTest(hooks); + + let model; + + hooks.beforeEach(function () { + let store = this.owner.lookup('service:store'); + model = store.createRecord('group', {}); + }); + + test('it exists', function (assert) { + assert.ok(model); + }); + + test('it supports name attr', function (assert) { + model.set('name', 'Group name'); + assert.equal(model.name, 'Group name'); + }); + + test('it supports description attr', function (assert) { + model.set('description', 'Group description'); + assert.equal(model.description, 'Group description'); + }); + + test('it supports created time attr', function (assert) { + const createdTime = new Date(); + model.set('created_time', createdTime); + assert.equal(model.created_time, createdTime); + }); + + test('it supports updated time attr', function (assert) { + const updatedTime = new Date(); + model.set('updated_time', updatedTime); + assert.equal(model.updated_time, updatedTime); + }); + + test('it supports disabled attr', function (assert) { + assert.notOk(model.disabled); + model.set('disabled', true); + assert.ok(model.disabled); + }); +});