Accept stored Scattermind snapshot rows
This commit is contained in:
@@ -360,6 +360,41 @@ try {
|
||||
assert.equal(snapshotOnly.handoff.source.requiresSourceTrace, true);
|
||||
assert.deepEqual(snapshotOnly.handoff.warnings, []);
|
||||
|
||||
const storedSnapshotRowResponse = await fetch(`${base}/api/rank-feedback`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
referenceCode: 'SM-SNAPSHOT-ROW',
|
||||
ideaText: 'I have a tiny paid workshop idea and only the free Snapshot exists so far.',
|
||||
context: 'Solo operator. Manual proof first. Avoid saved workspaces before demand is visible.',
|
||||
status: 'glimpse_ready',
|
||||
glimpseJson: JSON.stringify({
|
||||
working_name: 'Workshop Seed',
|
||||
restated_idea: 'A tiny workshop offer needs one concrete promise before becoming a platform.',
|
||||
lenses: {
|
||||
shape: {
|
||||
title: 'Product Shape',
|
||||
content: 'Start as a manually sold workshop promise, not a course dashboard. The useful first shape is a short offer and one live test. Avoid saved workspaces until people ask for repeats.',
|
||||
},
|
||||
},
|
||||
questions_to_sit_with: ['Will three real prospects understand the workshop promise without extra explanation?'],
|
||||
reference_code: 'SM-SNAPSHOT-ROW',
|
||||
}),
|
||||
mode: 'mvp',
|
||||
}),
|
||||
});
|
||||
assert.equal(storedSnapshotRowResponse.status, 200);
|
||||
const storedSnapshotRow = await storedSnapshotRowResponse.json();
|
||||
assert.equal(storedSnapshotRow.input.provenance.artifactId, 'SM-SNAPSHOT-ROW');
|
||||
assert.equal(storedSnapshotRow.input.provenance.snapshotTitle, 'Workshop Seed');
|
||||
assert.equal(storedSnapshotRow.input.optionCount, 2, 'stored Snapshot rows should become a manual proof plus evidence question');
|
||||
assert.equal(storedSnapshotRow.ranked[0].id, 'snapshot-manual-proof');
|
||||
assert.equal(storedSnapshotRow.ranked[0].provenance.sourceSection, 'snapshot.lenses.shape');
|
||||
assert.equal(storedSnapshotRow.ranked.find(item => item.id === 'question-1').lane.id, 'test');
|
||||
assert.match(storedSnapshotRow.handoff.copyableText, /Workshop Seed/);
|
||||
assert.equal(storedSnapshotRow.handoff.readiness.status, 'ready');
|
||||
assert.deepEqual(storedSnapshotRow.handoff.warnings, []);
|
||||
|
||||
const sectionedConceptResponse = await fetch(`${base}/api/rank-feedback`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
|
||||
Reference in New Issue
Block a user