refactor: bank rules e2e test cases

This commit is contained in:
Ahmed Bouhuolia
2025-01-06 18:10:24 +02:00
parent 2bf58d9cb4
commit 385d84d654
27 changed files with 357 additions and 91 deletions

View File

@@ -1,8 +1,10 @@
import { Body, Controller, Delete, Get, Param, Post } from '@nestjs/common';
import { BankingTransactionsApplication } from './BankingTransactionsApplication.service';
import { ICashflowNewCommandDTO } from './types/BankingTransactions.types';
import { PublicRoute } from '../Auth/Jwt.guard';
@Controller('banking/transactions')
@PublicRoute()
export class BankingTransactionsController {
constructor(
private readonly bankingTransactionsApplication: BankingTransactionsApplication,

View File

@@ -7,7 +7,10 @@ import { Model } from 'objection';
// import { CASHFLOW_DIRECTION } from '@/services/Cashflow/constants';
// import { getCashflowTransactionFormattedType } from '@/utils/transactions-types';
import { BaseModel } from '@/models/Model';
import { getCashflowAccountTransactionsTypes, getCashflowTransactionType } from '../utils';
import {
getCashflowAccountTransactionsTypes,
getCashflowTransactionType,
} from '../utils';
import { CASHFLOW_DIRECTION, CASHFLOW_TRANSACTION_TYPE } from '../constants';
import { BankTransactionLine } from './BankTransactionLine';
import { Account } from '@/modules/Accounts/models/Account.model';
@@ -159,10 +162,14 @@ export class BankTransaction extends BaseModel {
* Relationship mapping.
*/
static get relationMappings() {
const CashflowTransactionLine = require('models/CashflowTransactionLine');
const AccountTransaction = require('models/AccountTransaction');
const Account = require('models/Account');
const { MatchedBankTransaction } = require('models/MatchedBankTransaction');
const { BankTransactionLine } = require('./BankTransactionLine');
const {
AccountTransaction,
} = require('../../Accounts/models/AccountTransaction.model');
const { Account } = require('../../Accounts/models/Account.model');
const {
MatchedBankTransaction,
} = require('../../BankingMatching/models/MatchedBankTransaction');
return {
/**
@@ -170,7 +177,7 @@ export class BankTransaction extends BaseModel {
*/
entries: {
relation: Model.HasManyRelation,
modelClass: CashflowTransactionLine.default,
modelClass: BankTransactionLine,
join: {
from: 'cashflow_transactions.id',
to: 'cashflow_transaction_lines.cashflowTransactionId',
@@ -185,7 +192,7 @@ export class BankTransaction extends BaseModel {
*/
transactions: {
relation: Model.HasManyRelation,
modelClass: AccountTransaction.default,
modelClass: AccountTransaction,
join: {
from: 'cashflow_transactions.id',
to: 'accounts_transactions.referenceId',
@@ -200,7 +207,7 @@ export class BankTransaction extends BaseModel {
*/
cashflowAccount: {
relation: Model.BelongsToOneRelation,
modelClass: Account.default,
modelClass: Account,
join: {
from: 'cashflow_transactions.cashflowAccountId',
to: 'accounts.id',
@@ -212,7 +219,7 @@ export class BankTransaction extends BaseModel {
*/
creditAccount: {
relation: Model.BelongsToOneRelation,
modelClass: Account.default,
modelClass: Account,
join: {
from: 'cashflow_transactions.creditAccountId',
to: 'accounts.id',

View File

@@ -22,12 +22,12 @@ export class BankTransactionLine extends BaseModel{
* Relationship mapping.
*/
static get relationMappings() {
const Account = require('models/Account');
const { Account } = require('../../Accounts/models/Account.model');
return {
cashflowAccount: {
relation: Model.BelongsToOneRelation,
modelClass: Account.default,
modelClass: Account,
join: {
from: 'cashflow_transaction_lines.cashflowAccountId',
to: 'accounts.id',
@@ -35,7 +35,7 @@ export class BankTransactionLine extends BaseModel{
},
creditAccount: {
relation: Model.BelongsToOneRelation,
modelClass: Account.default,
modelClass: Account,
join: {
from: 'cashflow_transaction_lines.creditAccountId',
to: 'accounts.id',

View File

@@ -195,11 +195,11 @@ export class UncategorizedBankTransaction extends BaseModel {
* Relationship mapping.
*/
static get relationMappings() {
const Account = require('models/Account');
const { Account } = require('../../Accounts/models/Account.model');
const {
RecognizedBankTransaction,
} = require('models/RecognizedBankTransaction');
const { MatchedBankTransaction } = require('models/MatchedBankTransaction');
} = require('../../BankingTranasctionsRegonize/models/RecognizedBankTransaction');
const { MatchedBankTransaction } = require('../../BankingMatching/models/MatchedBankTransaction');
return {
/**
@@ -207,7 +207,7 @@ export class UncategorizedBankTransaction extends BaseModel {
*/
account: {
relation: Model.BelongsToOneRelation,
modelClass: Account.default,
modelClass: Account,
join: {
from: 'uncategorized_cashflow_transactions.accountId',
to: 'accounts.id',

View File

@@ -32,7 +32,7 @@ export class BankTransactionTransformer extends Transformer {
* @returns {string}
*/
protected transactionTypeFormatted = (transaction) => {
return this.context.i18n.t(transaction.transactionTypeFormatted);
return this.context.i18n.t(transaction.transactionType);
};
/**

View File

@@ -1,8 +1,8 @@
import { TransformerInjectable } from '@/modules/Transformer/TransformerInjectable.service';
import { initialize } from 'objection';
import { UncategorizedBankTransaction } from '../models/UncategorizedBankTransaction';
import { Inject, Injectable } from '@nestjs/common';
import { UncategorizedTransactionTransformer } from '../../BankingCategorize/commands/UncategorizedTransaction.transformer';
import { IGetUncategorizedTransactionsQuery } from '../types/BankingTransactions.types';
@Injectable()
export class GetUncategorizedTransactions {