mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-24 08:31:13 -05:00
Refactor: Implement multi-stage generation
This commit is contained in:
@@ -78,36 +78,62 @@ export function TestDataGenerator() {
|
||||
setResults(null);
|
||||
|
||||
try {
|
||||
console.log('=== TEST DATA GENERATOR DEBUG ===');
|
||||
console.log('Selected entity types:', selectedEntityTypes);
|
||||
console.log('Preset:', preset);
|
||||
console.log('Field density:', fieldDensity);
|
||||
console.log('===================================');
|
||||
|
||||
const { data, error } = await supabase.functions.invoke('seed-test-data', {
|
||||
body: {
|
||||
preset,
|
||||
fieldDensity,
|
||||
entityTypes: selectedEntityTypes,
|
||||
...options
|
||||
}
|
||||
});
|
||||
const stages = ['companies', 'parks', 'rides', 'photos'] as const;
|
||||
const allResults = {
|
||||
operators: 0,
|
||||
property_owners: 0,
|
||||
manufacturers: 0,
|
||||
designers: 0,
|
||||
parks: 0,
|
||||
rides: 0,
|
||||
rideModels: 0,
|
||||
photos: 0,
|
||||
totalPhotoItems: 0,
|
||||
conflicts: 0,
|
||||
versionChains: 0
|
||||
};
|
||||
|
||||
if (error) throw error;
|
||||
for (let i = 0; i < stages.length; i++) {
|
||||
const stage = stages[i];
|
||||
|
||||
toast({
|
||||
title: `Stage ${i + 1}/${stages.length}`,
|
||||
description: `Generating ${stage}...`,
|
||||
});
|
||||
|
||||
setResults(data);
|
||||
await loadStats();
|
||||
const { data, error } = await supabase.functions.invoke('seed-test-data', {
|
||||
body: {
|
||||
preset,
|
||||
fieldDensity,
|
||||
entityTypes: selectedEntityTypes,
|
||||
stage,
|
||||
...options
|
||||
}
|
||||
});
|
||||
|
||||
if (error) throw error;
|
||||
|
||||
// Merge results
|
||||
Object.keys(data.summary).forEach(key => {
|
||||
if (allResults[key as keyof typeof allResults] !== undefined) {
|
||||
allResults[key as keyof typeof allResults] += data.summary[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
setResults({ summary: allResults });
|
||||
toast({
|
||||
title: 'Test Data Generated',
|
||||
description: `Successfully created test data in ${data.time}s`
|
||||
title: "Test data generated",
|
||||
description: `Successfully completed all stages`,
|
||||
});
|
||||
|
||||
await loadStats();
|
||||
} catch (error) {
|
||||
console.error('Generation error:', error);
|
||||
toast({
|
||||
title: 'Generation Failed',
|
||||
description: error.message,
|
||||
variant: 'destructive'
|
||||
title: "Generation failed",
|
||||
description: error.message || "Failed to generate test data",
|
||||
variant: "destructive",
|
||||
});
|
||||
} finally {
|
||||
setLoading(false);
|
||||
|
||||
Reference in New Issue
Block a user