Fix candidatosEncontrados to reflect full eligible pool, not post-slice count

generateCampaignQueue computed candidatosEncontrados after slicing to
quantidade, so it could never differ from adicionadosNaFila. An operator
generating a queue with quantidade smaller than the eligible pool saw no
signal that more eligible leads existed. Now candidatosEncontrados is read
before the slice, while adicionadosNaFila still reflects rows actually
inserted.
This commit is contained in:
Gustavo
2026-08-01 10:37:31 -03:00
parent 248bd4c550
commit 9bf77d88d3
2 changed files with 17 additions and 4 deletions
+13
View File
@@ -105,6 +105,19 @@ test('generateCampaignQueue respeita o parametro quantidade', () => {
db.close();
});
test('generateCampaignQueue reporta candidatosEncontrados como o pool elegivel completo, mesmo com quantidade menor', () => {
const db = openDb(':memory:');
for (let i = 0; i < 5; i += 1) {
inserirLead(db, { dedup_key: `pool-${i}`, whatsapp: `551199998000${i}` });
}
const campanha = campanhaComVariantes(db);
const resultado = generateCampaignQueue(db, campanha.id, { quantidade: 2 });
assert.equal(resultado.candidatosEncontrados, 5);
assert.equal(resultado.adicionadosNaFila, 2);
assert.equal(listQueue(db, campanha.id).length, 2);
db.close();
});
test('approveQueueRows so aprova linhas em preview da campanha certa', () => {
const db = openDb(':memory:');
inserirLead(db, { whatsapp: '5511999990001' });