diff --git a/src/pages/concepts/events.md b/src/pages/concepts/events.md index aa6db0d9..cfd438a5 100644 --- a/src/pages/concepts/events.md +++ b/src/pages/concepts/events.md @@ -73,7 +73,7 @@ responsePayload.builder.ts 3. **event.options.ts**: Additional options for an event (including permissions). 4. **responsePayload.builder.ts**: The schema of the payload that is returned when the event is handled. -## Events & Listeners +## Events & Faked Listeners ### Registering an Event @@ -129,7 +129,7 @@ spruce create.event
Production 1b: Define your event -Now is a great time to do some event design work. Once your event is defined, make sure you run the following: +Now is a great time to do some event design work. Finde Once your event is defined, make sure you run the following: ```bash spruce sync.events diff --git a/src/pages/concepts/stores.md b/src/pages/concepts/stores.md index 652e811b..e39e1e1b 100644 --- a/src/pages/concepts/stores.md +++ b/src/pages/concepts/stores.md @@ -12,6 +12,49 @@ Stores are a database agnostic way to persist data in your skill. Thare have a s * `find(...)`: Find many records in the store. * `scramble(...)`: Scramble a record in the store. +## Current Adapters + +Currently, the Spruce Platform has 3 adapters for `Stores`: + +1. NeDb: For testing and development purposes. +2. MongoDb: The default adapter for production. +3. Postgres: Can be enabled for production and/or tests. + + +## Stores in Development + +During development, by default, the `Stores` layer will utilize a `MongoDb` in memory store called `NeDb`. While this database is no longer supported, it provides enough functionality to work for testing and development purposes. + +### Seeding Data + +When you are in development, you may want to seed your store with data so you can test against it. Luckily, that's a pretty easy thing to do! Let's walk through it! + +For this scenario, we're going to ensure that our `listener` returns the expected results from the Database. We'll start with some listener tests that have already been created. + +
+Test 1: Add the @seed(...) decorator + +```typescript +import { AbstractSpruceFixtureTest } from '@sprucelabs/spruce-test-fixtures' +import { test } from '@sprucelabs/test-utils' +import { crudAssert } from '@sprucelabs/spruce-crud-utils' + +export default class RootSkillViewTest extends AbstractSpruceFixtureTest { + @test() + protected static async rendersMaster() { + const vc = this.views.Controller('eightbitstories.root', {}) + crudAssert.skillViewRendersMasterView(]vc) + } +} +``` + +
+ + +### Custom Data + +## Stores in Production + ### Something Missing?