mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-10 18:01:59 +00:00
48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
import { create, expect } from '~/testInit';
|
|
import View from 'models/View';
|
|
import Resource from 'models/Resource';
|
|
import ResourceField from 'models/ResourceField';
|
|
import ViewRole from 'models/ViewRole';
|
|
import {
|
|
tenantWebsite,
|
|
tenantFactory,
|
|
loginRes
|
|
} from '~/dbInit';
|
|
|
|
|
|
describe('Model: View', () => {
|
|
it('View model may has many associated resource.', async () => {
|
|
const view = await tenantFactory.create('view');
|
|
|
|
const viewModel = await View.tenant().query().findById(view.id);
|
|
const viewResource = await viewModel.$relatedQuery('resource');
|
|
|
|
const foundResource = await Resource.tenant().query().findById(view.resourceId);
|
|
|
|
expect(viewResource.id).equals(foundResource.id);
|
|
expect(viewResource.name).equals(foundResource.name);
|
|
});
|
|
|
|
it('View model may has many associated view roles.', async () => {
|
|
const view = await tenantFactory.create('view');
|
|
await tenantFactory.create('view_role', { view_id: view.id });
|
|
await tenantFactory.create('view_role', { view_id: view.id });
|
|
|
|
const viewModel = await View.tenant().query().findById(view.id);
|
|
const viewRoles = await viewModel.$relatedQuery('roles');
|
|
|
|
expect(viewRoles).to.have.lengthOf(2);
|
|
});
|
|
|
|
it('View model may has many associated view columns', async () => {
|
|
const view = await tenantFactory.create('view');
|
|
await tenantFactory.create('view_column', { view_id: view.id });
|
|
await tenantFactory.create('view_column', { view_id: view.id });
|
|
|
|
const viewModel = await View.tenant().query().findById(view.id);
|
|
const viewColumns = await viewModel.$relatedQuery('columns');
|
|
|
|
expect(viewColumns).to.have.lengthOf(2);
|
|
});
|
|
});
|