Implement regimens
This commit is contained in:
parent
1f66fab30f
commit
9f416903ef
66 changed files with 9130 additions and 189 deletions
|
|
@ -251,4 +251,45 @@ describe(CabinetRepository.name, () => {
|
|||
expect(result).toEqual(deleted);
|
||||
});
|
||||
});
|
||||
|
||||
describe('discard', () => {
|
||||
it('zeros quantity, marks depleted and deleted', async () => {
|
||||
const discarded = { _id: 'ci-1', quantity: 0, status: 'depleted', isDeleted: true };
|
||||
mockFindOneAndUpdate.mockResolvedValue(discarded);
|
||||
|
||||
const result = await repo.discard('ci-1', 'hh1');
|
||||
|
||||
expect(result).toEqual(discarded);
|
||||
});
|
||||
|
||||
it('returns null when item not found', async () => {
|
||||
mockFindOneAndUpdate.mockResolvedValue(null);
|
||||
|
||||
const result = await repo.discard('ci-missing', 'hh1');
|
||||
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('findActiveByMedicineForFEFO', () => {
|
||||
it('returns active items sorted by expiration date', async () => {
|
||||
const items = [
|
||||
{ _id: 'ci-1', quantity: 10, expirationDate: new Date('2025-06-01') },
|
||||
{ _id: 'ci-2', quantity: 20, expirationDate: new Date('2025-12-01') },
|
||||
];
|
||||
mockFind.mockResolvedValue(items);
|
||||
|
||||
const result = await repo.findActiveByMedicineForFEFO('hh1', 'med-1');
|
||||
|
||||
expect(result).toEqual(items);
|
||||
});
|
||||
|
||||
it('returns empty array when no active items exist', async () => {
|
||||
mockFind.mockResolvedValue([]);
|
||||
|
||||
const result = await repo.findActiveByMedicineForFEFO('hh1', 'med-1');
|
||||
|
||||
expect(result).toHaveLength(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue