test: keep fixed D10 browser fixtures reproducible
This commit is contained in:
@@ -38,7 +38,7 @@ const firmaAnahtari = email => `${FIRMA_ANAHTAR}:${encodeURIComponent(String(ema
|
||||
|
||||
const bosFirma = () => Object.fromEntries(ALANLAR.map((a) => [a.k, '']));
|
||||
|
||||
export const BidPackageBuilder = ({ results, tender: selectedTender, initialFocus }) => {
|
||||
export const BidPackageBuilder = ({ results, tender: selectedTender, initialFocus, now = null }) => {
|
||||
const { userProfile, mutateTender, savingCount, authUser, tenders } = useApp();
|
||||
const tender = resolveCurrentTender(selectedTender,tenders);
|
||||
const storedDraft = tender?.bidDraft || {};
|
||||
@@ -148,9 +148,13 @@ export const BidPackageBuilder = ({ results, tender: selectedTender, initialFocu
|
||||
const kalemEksik = teklifTuru === 'birim' && validateBidRows(satirlar).length > 0;
|
||||
const turCeliskisi = !['birim','goturu'].includes(teklifTuru) || kaynakTeklifTuru.status === 'conflict' || (kaynakTeklifTuru.type && teklifTuru !== kaynakTeklifTuru.type);
|
||||
const sureEksik = !Number.isInteger(Number(gecerlilikGun)) || !(Number(gecerlilikGun) > 0) || kaynakGecerlilik.status === 'conflict' || (kaynakGecerlilik.days && Number(gecerlilikGun) < kaynakGecerlilik.days);
|
||||
const [deadlineNow,setDeadlineNow] = useState(() => new Date());
|
||||
useEffect(() => {const timer=setInterval(()=>setDeadlineNow(new Date()),30000);return ()=>clearInterval(timer);},[]);
|
||||
const deadlineProblem = preparationDeadlineProblem(tender,deadlineNow);
|
||||
const [deadlineNow,setDeadlineNow] = useState(() => now || new Date());
|
||||
useEffect(() => {
|
||||
if (now) { setDeadlineNow(now); return undefined; }
|
||||
const timer=setInterval(()=>setDeadlineNow(new Date()),30000);
|
||||
return ()=>clearInterval(timer);
|
||||
},[now]);
|
||||
const deadlineProblem = preparationDeadlineProblem(tender,now || deadlineNow);
|
||||
const kontrolEksikleri = preparationBlockers(lotSelection.rows, documents, checks, {...vault,healthPortfolio:userProfile.scrapedCapabilities?.healthPortfolio || [],deadlineDate:tenderDateKey(tender),tenderIkn:tender.ikn});
|
||||
const analizEksik = analysisStatusBlocksPreparation(effectiveResults.sourceReview?.status);
|
||||
const hazir = !deadlineProblem && eksikler.length === 0 && toplam > 0 && !kalemEksik && !turCeliskisi && !sureEksik && !kaynakKontrolGerekli && kontrolEksikleri.length === 0 && lotSelection.errors.length === 0 && !analizEksik && !sourceOptions.needsSelection;
|
||||
@@ -189,7 +193,7 @@ export const BidPackageBuilder = ({ results, tender: selectedTender, initialFocu
|
||||
const session = getToken();
|
||||
setHata(null);
|
||||
try {
|
||||
const initialDeadlineProblem=preparationDeadlineProblem(tender);
|
||||
const initialDeadlineProblem=preparationDeadlineProblem(tender,now || new Date());
|
||||
if(initialDeadlineProblem)throw new Error(initialDeadlineProblem);
|
||||
if (!hazir) throw new Error('Kalem, miktar, birim, fiyat, firma ve geçerlilik süresindeki eksikleri giderin.');
|
||||
// Open during the click; async validation must not lose popup activation.
|
||||
@@ -206,7 +210,7 @@ export const BidPackageBuilder = ({ results, tender: selectedTender, initialFocu
|
||||
setVault(currentVault);
|
||||
const fileErrors = preparationBlockers(lotSelection.rows, documents, checks, currentVault);
|
||||
if (fileErrors.length) throw new Error(fileErrors.join(' '));
|
||||
const currentDeadlineProblem=preparationDeadlineProblem(tender);
|
||||
const currentDeadlineProblem=preparationDeadlineProblem(tender,now || new Date());
|
||||
if(currentDeadlineProblem)throw new Error(currentDeadlineProblem);
|
||||
const f = formVerisi();
|
||||
if (tip === 'excel') {
|
||||
@@ -219,7 +223,7 @@ export const BidPackageBuilder = ({ results, tender: selectedTender, initialFocu
|
||||
setVault(finalVault);
|
||||
const finalErrors=preparationBlockers(lotSelection.rows,documents,checks,finalVault);
|
||||
if(finalErrors.length)throw new Error(finalErrors.join(' '));
|
||||
const finalDeadlineProblem=preparationDeadlineProblem(tender);
|
||||
const finalDeadlineProblem=preparationDeadlineProblem(tender,now || new Date());
|
||||
if(finalDeadlineProblem)throw new Error(finalDeadlineProblem);
|
||||
downloadBidWorkbook(buffer,tender.ikn);
|
||||
printWindow.current?.close();
|
||||
|
||||
Reference in New Issue
Block a user