mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 05:10:31 +00:00
add server to monorepo.
This commit is contained in:
50
packages/server/tests/models/Account.test.js
Normal file
50
packages/server/tests/models/Account.test.js
Normal file
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
expect,
|
||||
} from '~/testInit';
|
||||
import Account from 'models/Account';
|
||||
import AccountType from 'models/AccountType';
|
||||
import {
|
||||
tenantFactory,
|
||||
tenantWebsite
|
||||
} from '~/dbInit';
|
||||
import DependencyGraph from '@/lib/DependencyGraph';
|
||||
|
||||
describe('Model: Account', () => {
|
||||
it('Should account model belongs to the associated account type model.', async () => {
|
||||
const accountType = await tenantFactory.create('account_type');
|
||||
const account = await tenantFactory.create('account', { account_type_id: accountType.id });
|
||||
|
||||
const accountModel = await Account.tenant().query()
|
||||
.where('id', account.id)
|
||||
.withGraphFetched('type')
|
||||
.first();
|
||||
|
||||
expect(accountModel.type.id).equals(accountType.id);
|
||||
});
|
||||
|
||||
it('Should account model has one balance model that associated to the account model.', async () => {
|
||||
const accountBalance = await tenantFactory.create('account_balance');
|
||||
|
||||
const accountModel = await Account.tenant().query()
|
||||
.where('id', accountBalance.accountId)
|
||||
.withGraphFetched('balance')
|
||||
.first();
|
||||
|
||||
expect(accountModel.balance.amount).equals(accountBalance.amount);
|
||||
});
|
||||
|
||||
it('Should account model has many transactions models that associated to the account model.', async () => {
|
||||
const account = await tenantFactory.create('account');
|
||||
const accountTransaction = await tenantFactory.create('account_transaction', { account_id: account.id });
|
||||
|
||||
const accountModel = await Account.tenant().query().where('id', account.id).first();
|
||||
const transactionsModels = await accountModel.$relatedQuery('transactions');
|
||||
|
||||
expect(transactionsModels.length).equals(1);
|
||||
});
|
||||
|
||||
it('Should retrieve dependency graph.', async () => {
|
||||
const accountsDepGraph = await Account.tenant().depGraph().query();
|
||||
expect(accountsDepGraph).to.be.an.instanceOf(DependencyGraph);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user