refs #6321 test: fix
gitea/salix/pipeline/pr-dev There was a failure building this commit Details

This commit is contained in:
Javier Segarra 2024-04-08 12:16:07 +02:00
parent 25fc39ef2b
commit 3dd162b683
5 changed files with 26 additions and 13 deletions

View File

@ -3,11 +3,11 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`item_getLack`(
vForce BOOLEAN, vForce BOOLEAN,
vDays INT, vDays INT,
vId INT, vId INT,
vLongname INT, vLongname VARCHAR(255),
vSupplierFk VARCHAR(255), vSupplierFk VARCHAR(255),
vColor VARCHAR(255), vColor VARCHAR(255),
vSize INT, vSize INT,
vOrigen VARCHAR(255), vOrigen INT,
vLack INT, vLack INT,
vWarehouseFk INT vWarehouseFk INT
) )
@ -59,11 +59,11 @@ BEGIN
AND ic.display AND ic.display
AND it.code != 'GEN' AND it.code != 'GEN'
AND (vId IS NULL OR i.id = vId) AND (vId IS NULL OR i.id = vId)
AND (vLongname IS NULL OR i.longName = vLongname) AND (vLongname IS NULL OR i.name = vLongname)
AND (vSupplierFk IS NULL OR p.`name` LIKE CONCAT('%', vSupplierFk, '%')) AND (vSupplierFk IS NULL OR p.`name` LIKE CONCAT('%', vSupplierFk, '%'))
AND (vColor IS NULL OR vColor = i.inkFk) AND (vColor IS NULL OR vColor = i.inkFk)
AND (vSize IS NULL OR vSize = i.`size`) AND (vSize IS NULL OR vSize = i.`size`)
AND (vOrigen IS NULL OR vOrigen = w.name) AND (vOrigen IS NULL OR vOrigen = w.id)
AND (vLack IS NULL OR vLack = sub.amount) AND (vLack IS NULL OR vLack = sub.amount)
AND (vWarehouseFk IS NULL OR vWarehouseFk = w.id) AND (vWarehouseFk IS NULL OR vWarehouseFk = w.id)
GROUP BY i.id, w.id GROUP BY i.id, w.id

View File

@ -8,6 +8,12 @@ module.exports = Self => {
type: 'object', type: 'object',
http: {source: 'context'} http: {source: 'context'}
}, },
{
arg: 'filter',
type: 'object',
description: 'Filter defining where, order, offset, and limit - must be a JSON-encoded string',
http: {source: 'query'}
},
{ {
arg: 'id', arg: 'id',
type: 'number', type: 'number',
@ -62,18 +68,25 @@ module.exports = Self => {
} }
}); });
Self.itemLack = async(ctx, options) => { Self.itemLack = async(ctx, filter, options) => {
const myOptions = {}; const myOptions = {};
if (typeof options == 'object') if (typeof options == 'object')
Object.assign(myOptions, options); Object.assign(myOptions, options);
const filterKeyOrder = ['id', 'longname', 'supplier', 'colour', 'size', 'origen', 'lack', 'warehouse']; const filterKeyOrder = ['id', 'longname', 'supplier', 'colour', 'size', 'origen', 'lack', 'warehouse'];
delete ctx.args.ctx; delete ctx?.args?.ctx;
delete ctx.args.filter;
delete ctx?.args?.filter;
if (filter)
ctx.args = Object.assign(ctx.args ?? {}, filter);
let procedureParams = [true, 2]; let procedureParams = [true, 2];
procedureParams.push(...filterKeyOrder.map(clave => ctx.args[clave] ?? null)); procedureParams.push(...filterKeyOrder.map(clave => ctx.args[clave] ?? null));
const procedureArgs = Array(procedureParams.length).fill('?').join(', '); const procedureArgs = Array(procedureParams.length).fill('?').join(', ');
let query = `CALL vn.item_getLack(${procedureArgs})`; let query = `CALL vn.item_getLack(${procedureArgs})`;
const result = await Self.rawSql(query, procedureParams, myOptions); const result = await Self.rawSql(query, procedureParams, myOptions);

View File

@ -6,7 +6,7 @@ module.exports = Self => {
accessType: 'READ', accessType: 'READ',
accepts: [ accepts: [
{ {
arg: 'id', arg: 'itemFk',
type: 'number', type: 'number',
description: 'The item id', description: 'The item id',
}, },
@ -19,7 +19,7 @@ module.exports = Self => {
}, },
], ],
http: { http: {
path: `/itemLack/:id/detail`, path: `/itemLack/:itemFk/detail`,
verb: 'GET', verb: 'GET',
}, },
}); });

View File

@ -1,7 +1,7 @@
const models = require('vn-loopback/server/server').models; const models = require('vn-loopback/server/server').models;
describe('Item Lack', () => { fdescribe('Item Lack', () => {
beforeAll(async() => { beforeEach(async() => {
ctx = { ctx = {
req: { req: {
accessToken: {}, accessToken: {},
@ -85,7 +85,7 @@ describe('Item Lack', () => {
const options = {transaction: tx}; const options = {transaction: tx};
const filter = { const filter = {
color: 'BRW' colour: 'BRW'
}; };
try { try {
const result = await models.Ticket.itemLack(ctx, filter, options); const result = await models.Ticket.itemLack(ctx, filter, options);

View File

@ -1,6 +1,6 @@
const models = require('vn-loopback/server/server').models; const models = require('vn-loopback/server/server').models;
describe('Item Lack Detail', () => { fdescribe('Item Lack Detail', () => {
it('should return false if id is null', async() => { it('should return false if id is null', async() => {
const tx = await models.Ticket.beginTransaction({}); const tx = await models.Ticket.beginTransaction({});