ghostguild-org/scripts/seed-welcome-tester.cjs
Jennie Robinson Faber 74b2287d48 feat: update tests + seed script, add ecology→board migration
- useOnboarding.test.js: hasEngagedEcology→hasEngagedBoard, /api/ecology/suggestions→/api/board/suggestions, ecology key/route→board in test assertions
- onboarding-status.test.js: stale description strings updated
- seed-welcome-tester.cjs: communityEcology→board, ecologyPageVisited→boardPageVisited
- migrate-ecology-to-board.cjs: one-time migration renames three member fields and activity log action values
2026-04-14 12:20:46 +01:00

52 lines
1.4 KiB
JavaScript

/**
* Seed a fresh member in the right state to test the Welcome Workflow.
* All onboarding flags default to false/null, no craft tags, no board topics.
*
* Usage: node scripts/seed-welcome-tester.js
* Then pick "Welcome Tester" from the dev login dropdown.
*/
require("dotenv").config();
const mongoose = require("mongoose");
async function main() {
await mongoose.connect(process.env.MONGODB_URI);
const Member = mongoose.connection.model(
"Member",
new mongoose.Schema({}, { strict: false, collection: "members" }),
);
const email = "welcome-tester@ghostguild.dev";
const result = await Member.findOneAndUpdate(
{ email },
{
$set: {
name: "Welcome Tester",
email,
circle: "community",
contributionTier: "0",
role: "member",
status: "active",
craftTags: [],
board: { topics: [], offerPeerSupport: false },
onboarding: {
completedAt: null,
eventPageVisited: false,
boardPageVisited: false,
wikiClicked: false,
},
},
},
{ upsert: true, new: true },
);
console.log(`Seeded member: ${result.name} (${result.email}) — _id: ${result._id}`);
console.log("All onboarding flags reset. Pick 'Welcome Tester' from the dev dropdown.");
await mongoose.disconnect();
}
main().catch((err) => {
console.error(err);
process.exit(1);
});