refactor: inventory adjustments e2e test cases

This commit is contained in:
Ahmed Bouhuolia
2025-01-08 15:43:43 +02:00
parent 52362a43ab
commit ee284196eb
29 changed files with 257 additions and 68 deletions

View File

@@ -10,8 +10,10 @@ import { PurchasesTransactionLockingGuardSubscriber } from './subscribers/Purcha
import { SalesTransactionLockingGuardSubscriber } from './subscribers/SalesTransactionLockingGuardSubscriber';
import { QueryTransactionsLocking } from './queries/QueryTransactionsLocking';
import { TransactionsLockingController } from './TransactionsLocking.controller';
import { SettingsModule } from '../Settings/Settings.module';
@Module({
imports: [SettingsModule],
providers: [
TransactionsLockingService,
FinancialTransactionLocking,

View File

@@ -4,7 +4,6 @@ import {
TransactionsLockingGroup,
TransactionsLockingType,
} from './types/TransactionsLocking.types';
import { parseDate } from 'utils';
import { Inject, Injectable } from '@nestjs/common';
import { SettingsStore } from '../Settings/SettingsStore';
import { SETTINGS } from '../Settings/Settings.module';
@@ -159,3 +158,7 @@ export class TransactionsLockingRepository {
});
}
}
export const parseDate = (date: string) => {
return date ? moment(date).utcOffset(0).format('YYYY-MM-DD') : '';
};

View File

@@ -1,7 +1,7 @@
import {
ITransactionsLockingSchema,
TransactionsLockingGroup,
} from '@/interfaces';
ITransactionsLockingSchema,
} from './types/TransactionsLocking.types';
export const ERRORS = {
TRANSACTIONS_DATE_LOCKED: 'TRANSACTIONS_DATE_LOCKED',
@@ -30,7 +30,7 @@ export const TRANSACTIONS_LOCKING_SCHEMA = [
] as ITransactionsLockingSchema[];
export function getTransactionsLockingSchemaMeta(
module: TransactionsLockingGroup
module: TransactionsLockingGroup,
): ITransactionsLockingSchema {
return TRANSACTIONS_LOCKING_SCHEMA.find((schema) => schema.module === module);
}

View File

@@ -1,6 +1,7 @@
import { TransactionsLockingGroup } from '../types/TransactionsLocking.types';
import { Injectable } from '@nestjs/common';
import { TransactionsLockingGuard } from './TransactionsLockingGuard';
import { MomentInput } from 'moment';
@Injectable()
export class PurchasesTransactionLockingGuard {
@@ -13,7 +14,7 @@ export class PurchasesTransactionLockingGuard {
* @param {Date} transactionDate - The transaction date.
*/
public transactionLockingGuard = async (
transactionDate: Date
transactionDate: MomentInput
) => {
this.transactionLockingGuardService.transactionsLockingGuard(
transactionDate,

View File

@@ -1,6 +1,7 @@
import { TransactionsLockingGroup } from '../types/TransactionsLocking.types';
import { Injectable } from '@nestjs/common';
import { TransactionsLockingGuard } from './TransactionsLockingGuard';
import { MomentInput } from 'moment';
@Injectable()
export class SalesTransactionLockingGuard {
@@ -13,7 +14,7 @@ export class SalesTransactionLockingGuard {
* @param {Date} transactionDate - The transaction date.
*/
public transactionLockingGuard = async (
transactionDate: Date
transactionDate: MomentInput
) => {
await this.transactionLockingGuardService.transactionsLockingGuard(
transactionDate,

View File

@@ -1,4 +1,4 @@
import moment from 'moment';
import moment, { MomentInput } from 'moment';
import { Injectable } from '@nestjs/common';
import { TransactionsLockingGroup } from '../types/TransactionsLocking.types';
import { TransactionsLockingRepository } from '../TransactionsLockingRepository';
@@ -18,7 +18,7 @@ export class TransactionsLockingGuard {
* @returns {boolean}
*/
public isTransactionsLocking = (
transactionDate: Date,
transactionDate: MomentInput,
lockingGroup: string = TransactionsLockingGroup.All
): boolean => {
const { isEnabled, unlockFromDate, unlockToDate, lockToDate } =
@@ -49,7 +49,7 @@ export class TransactionsLockingGuard {
* @throws {ServiceError}
*/
public validateTransactionsLocking = (
transactionDate: Date,
transactionDate: MomentInput,
lockingGroup: TransactionsLockingGroup
) => {
const isLocked = this.isTransactionsLocking(
@@ -83,7 +83,7 @@ export class TransactionsLockingGuard {
* @param {Date} transactionDate - The transaction date.
*/
public transactionsLockingGuard = (
transactionDate: Date,
transactionDate: MomentInput,
moduleType: TransactionsLockingGroup
) => {
const lockingType =