Implement admin inventory management features including CRUD operations, merging, filtering, sorting, previewing, and security enhancements. Update documentation and add comprehensive test coverage for security and validation.
Test Suite / test (24.15.0) (push) Has been cancelled
Test Suite / test (24.15.0) (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import { plainToInstance } from 'class-transformer';
|
||||
import { validate } from 'class-validator';
|
||||
import { ConsumeInventoryDto } from './dto/consume-inventory.dto';
|
||||
import { CreateInventoryDto } from './dto/create-inventory.dto';
|
||||
import { UpdateInventoryDto } from './dto/update-inventory.dto';
|
||||
|
||||
describe('Inventory DTO validation security', () => {
|
||||
it('CreateInventoryDto nekar negativ quantity', async () => {
|
||||
const dto = plainToInstance(CreateInventoryDto, {
|
||||
productId: 10,
|
||||
quantity: -1,
|
||||
unit: 'st',
|
||||
});
|
||||
|
||||
const errors = await validate(dto);
|
||||
expect(errors.length).toBeGreaterThan(0);
|
||||
expect(errors.some((e) => e.property === 'quantity')).toBe(true);
|
||||
});
|
||||
|
||||
it('CreateInventoryDto nekar icke-numerisk quantity', async () => {
|
||||
const dto = plainToInstance(CreateInventoryDto, {
|
||||
productId: 10,
|
||||
quantity: 'abc',
|
||||
unit: 'st',
|
||||
});
|
||||
|
||||
const errors = await validate(dto);
|
||||
expect(errors.some((e) => e.property === 'quantity')).toBe(true);
|
||||
});
|
||||
|
||||
it('UpdateInventoryDto nekar ogiltig opened-typ', async () => {
|
||||
const dto = plainToInstance(UpdateInventoryDto, {
|
||||
opened: 'true',
|
||||
});
|
||||
|
||||
const errors = await validate(dto);
|
||||
expect(errors.some((e) => e.property === 'opened')).toBe(true);
|
||||
});
|
||||
|
||||
it('ConsumeInventoryDto nekar amountUsed under minimum', async () => {
|
||||
const dto = plainToInstance(ConsumeInventoryDto, {
|
||||
amountUsed: 0,
|
||||
});
|
||||
|
||||
const errors = await validate(dto);
|
||||
expect(errors.some((e) => e.property === 'amountUsed')).toBe(true);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user