Accept isolated workshop billing draft trial with documented manual evidence
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import {workshopBillingProposal} from '../resources/js/workshopBillingProposal.js';
|
||||
const order={client_id:16,entries:[{id:6,version:1},{id:4,version:1}],proposals:[]},services=[{id:9,version:1}];
|
||||
const form=new FormData();
|
||||
assert.throws(()=>workshopBillingProposal(order,services,form),/Incluir origem integral/);
|
||||
form.set('select-6','on');
|
||||
assert.throws(()=>workshopBillingProposal(order,services,form),/Origem #6: seleccione o serviço/);
|
||||
form.set('service-6','9');
|
||||
assert.throws(()=>workshopBillingProposal(order,services,form),/Origem #6: preencha o preço/);
|
||||
form.set('price-6','0');
|
||||
assert.throws(()=>workshopBillingProposal(order,services,form),/fonte comercial/);
|
||||
form.set('source-6','WORKSHOP-SALES-SYNTHETIC-v1');
|
||||
assert.throws(()=>workshopBillingProposal(order,services,form),/fundamento/);
|
||||
form.set('evidence','Proposta sintética');
|
||||
const zero=workshopBillingProposal(order,services,form);assert.equal(zero.lines[0].price,'0');assert.equal(zero.lines.length,1);
|
||||
form.set('select-4','on');form.set('service-4','9');form.set('price-4','200');form.set('source-4','WORKSHOP-SALES-SYNTHETIC-v1');form.set('price-6','75');
|
||||
const proposal=workshopBillingProposal(order,services,form);assert.deepEqual(proposal.lines.map(l=>l.price),['75','200']);assert.equal(proposal.previous_id,null);assert.equal(proposal.version,1);
|
||||
console.log('Workshop form checks passed: missing selection/service/price/source/evidence; explicit zero; exact selected values. No database or browser used.');
|
||||
Reference in New Issue
Block a user