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,
vDays INT,
vId INT,
vLongname INT,
vLongname VARCHAR(255),
vSupplierFk VARCHAR(255),
vColor VARCHAR(255),
vSize INT,
vOrigen VARCHAR(255),
vOrigen INT,
vLack INT,
vWarehouseFk INT
)
@ -59,11 +59,11 @@ BEGIN
AND ic.display
AND it.code != 'GEN'
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 (vColor IS NULL OR vColor = i.inkFk)
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 (vWarehouseFk IS NULL OR vWarehouseFk = w.id)
GROUP BY i.id, w.id

View File

@ -8,6 +8,12 @@ module.exports = Self => {
type: 'object',
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',
type: 'number',
@ -62,18 +68,25 @@ module.exports = Self => {
}
});
Self.itemLack = async(ctx, options) => {
Self.itemLack = async(ctx, filter, options) => {
const myOptions = {};
if (typeof options == 'object')
Object.assign(myOptions, options);
const filterKeyOrder = ['id', 'longname', 'supplier', 'colour', 'size', 'origen', 'lack', 'warehouse'];
delete ctx.args.ctx;
delete ctx.args.filter;
delete ctx?.args?.ctx;
delete ctx?.args?.filter;
if (filter)
ctx.args = Object.assign(ctx.args ?? {}, filter);
let procedureParams = [true, 2];
procedureParams.push(...filterKeyOrder.map(clave => ctx.args[clave] ?? null));
const procedureArgs = Array(procedureParams.length).fill('?').join(', ');
let query = `CALL vn.item_getLack(${procedureArgs})`;
const result = await Self.rawSql(query, procedureParams, myOptions);

View File

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

View File

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

View File

@ -1,6 +1,6 @@
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() => {
const tx = await models.Ticket.beginTransaction({});