Show all client metadata filter options
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 44s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 44s
This commit is contained in:
@@ -684,40 +684,32 @@ const getClientAnalytics = async (range = {}) => {
|
||||
return clients;
|
||||
};
|
||||
|
||||
const getClientFilterOptions = async (range = {}) => {
|
||||
const dateRange = {
|
||||
start: range.start,
|
||||
end: range.end
|
||||
};
|
||||
const { params, whereClause } = buildDateFilter(dateRange);
|
||||
const getClientFilterOptions = async () => {
|
||||
const [marketplaceResult, salesChannelResult, sellerResult] = await Promise.all([
|
||||
pool.query(`
|
||||
SELECT DISTINCT NULLIF(TRIM(marketplace), '') as value
|
||||
FROM orders
|
||||
${whereClause}
|
||||
AND NULLIF(TRIM(marketplace), '') IS NOT NULL
|
||||
WHERE NULLIF(TRIM(marketplace), '') IS NOT NULL
|
||||
ORDER BY value ASC;
|
||||
`, params),
|
||||
`),
|
||||
pool.query(`
|
||||
SELECT DISTINCT NULLIF(TRIM(canal_venda), '') as value
|
||||
FROM orders
|
||||
${whereClause}
|
||||
AND NULLIF(TRIM(canal_venda), '') IS NOT NULL
|
||||
WHERE NULLIF(TRIM(canal_venda), '') IS NOT NULL
|
||||
ORDER BY value ASC;
|
||||
`, params),
|
||||
`),
|
||||
pool.query(`
|
||||
SELECT
|
||||
NULLIF(TRIM(id_vendedor), '') as id,
|
||||
NULLIF(TRIM(nome_vendedor), '') as name
|
||||
FROM orders
|
||||
${whereClause}
|
||||
AND (
|
||||
WHERE (
|
||||
NULLIF(TRIM(id_vendedor), '') IS NOT NULL
|
||||
OR NULLIF(TRIM(nome_vendedor), '') IS NOT NULL
|
||||
)
|
||||
GROUP BY id, name
|
||||
ORDER BY COALESCE(name, id) ASC, id ASC;
|
||||
`, params)
|
||||
`)
|
||||
]);
|
||||
const sellerOptionsByValue = new Map();
|
||||
|
||||
|
||||
@@ -612,7 +612,7 @@ test('getClientAnalytics groups phone-less history through the customer identity
|
||||
}
|
||||
});
|
||||
|
||||
test('getClientFilterOptions returns distinct date-scoped order metadata options', async () => {
|
||||
test('getClientFilterOptions returns all distinct order metadata options', async () => {
|
||||
const originalQuery = pool.query;
|
||||
const calls = [];
|
||||
|
||||
@@ -641,10 +641,12 @@ test('getClientFilterOptions returns distinct date-scoped order metadata options
|
||||
|
||||
assert.equal(calls.length, 3);
|
||||
calls.forEach(call => {
|
||||
assert.deepEqual(call.params, ['2026-06-01', '2026-06-15']);
|
||||
assert.match(call.sql, /data_pedido_date >= \$1::date/);
|
||||
assert.match(call.sql, /data_pedido_date <= \$2::date/);
|
||||
assert.deepEqual(call.params, []);
|
||||
assert.doesNotMatch(call.sql, /data_pedido_date >=/);
|
||||
assert.doesNotMatch(call.sql, /data_pedido_date <=/);
|
||||
});
|
||||
assert.match(calls[0].sql, /WHERE NULLIF\(TRIM\(marketplace\), ''\) IS NOT NULL/);
|
||||
assert.match(calls[2].sql, /NULLIF\(TRIM\(nome_vendedor\), ''\) IS NOT NULL/);
|
||||
assert.deepEqual(options.marketplaces, ['Mercado Livre', 'Shopee']);
|
||||
assert.deepEqual(options.salesChannels, ['Online']);
|
||||
assert.deepEqual(options.sellers, [
|
||||
|
||||
Reference in New Issue
Block a user