summaryrefslogtreecommitdiff
path: root/packages/astro/test/content-layer.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/astro/test/content-layer.test.js')
-rw-r--r--packages/astro/test/content-layer.test.js70
1 files changed, 61 insertions, 9 deletions
diff --git a/packages/astro/test/content-layer.test.js b/packages/astro/test/content-layer.test.js
index 5be395386..abf91f363 100644
--- a/packages/astro/test/content-layer.test.js
+++ b/packages/astro/test/content-layer.test.js
@@ -53,11 +53,11 @@ describe('Content Layer', () => {
assert.equal(json.customLoader.length, 5);
});
- it('Returns `file()` loader collection', async () => {
- assert.ok(json.hasOwnProperty('fileLoader'));
- assert.ok(Array.isArray(json.fileLoader));
+ it('Returns json `file()` loader collection', async () => {
+ assert.ok(json.hasOwnProperty('jsonLoader'));
+ assert.ok(Array.isArray(json.jsonLoader));
- const ids = json.fileLoader.map((item) => item.data.id);
+ const ids = json.jsonLoader.map((item) => item.data.id);
assert.deepEqual(ids, [
'labrador-retriever',
'german-shepherd',
@@ -97,6 +97,58 @@ describe('Content Layer', () => {
);
});
+ it('Returns nested json `file()` loader collection', async () => {
+ assert.ok(json.hasOwnProperty('nestedJsonLoader'));
+ assert.ok(Array.isArray(json.nestedJsonLoader));
+
+ const ids = json.nestedJsonLoader.map((item) => item.data.id);
+ assert.deepEqual(ids, ['bluejay', 'robin', 'sparrow', 'cardinal', 'goldfinch']);
+ });
+
+ it('Returns yaml `file()` loader collection', async () => {
+ assert.ok(json.hasOwnProperty('yamlLoader'));
+ assert.ok(Array.isArray(json.yamlLoader));
+
+ const ids = json.yamlLoader.map((item) => item.id);
+ assert.deepEqual(ids, [
+ 'bubbles',
+ 'finn',
+ 'shadow',
+ 'spark',
+ 'splash',
+ 'nemo',
+ 'angel-fish',
+ 'gold-stripe',
+ 'blue-tail',
+ 'bubble-buddy',
+ ]);
+ });
+
+ it('Returns toml `file()` loader collection', async () => {
+ assert.ok(json.hasOwnProperty('tomlLoader'));
+ assert.ok(Array.isArray(json.tomlLoader));
+
+ const ids = json.tomlLoader.map((item) => item.data.id);
+ assert.deepEqual(ids, [
+ 'crown',
+ 'nikes-on-my-feet',
+ 'stars',
+ 'never-let-me-down',
+ 'no-church-in-the-wild',
+ 'family-ties',
+ 'somebody',
+ 'honest',
+ ]);
+ });
+
+ it('Returns nested json `file()` loader collection', async () => {
+ assert.ok(json.hasOwnProperty('nestedJsonLoader'));
+ assert.ok(Array.isArray(json.nestedJsonLoader));
+
+ const ids = json.nestedJsonLoader.map((item) => item.data.id);
+ assert.deepEqual(ids, ['bluejay', 'robin', 'sparrow', 'cardinal', 'goldfinch']);
+ });
+
it('Returns data entry by id', async () => {
assert.ok(json.hasOwnProperty('dataEntry'));
assert.equal(json.dataEntry.filePath?.split(sep).join(posixSep), 'src/data/dogs.json');
@@ -276,10 +328,10 @@ describe('Content Layer', () => {
});
it('Returns `file()` loader collection', async () => {
- assert.ok(json.hasOwnProperty('fileLoader'));
- assert.ok(Array.isArray(json.fileLoader));
+ assert.ok(json.hasOwnProperty('jsonLoader'));
+ assert.ok(Array.isArray(json.jsonLoader));
- const ids = json.fileLoader.map((item) => item.data.id);
+ const ids = json.jsonLoader.map((item) => item.data.id);
assert.deepEqual(ids, [
'labrador-retriever',
'german-shepherd',
@@ -348,7 +400,7 @@ describe('Content Layer', () => {
it('updates collection when data file is changed', async () => {
const rawJsonResponse = await fixture.fetch('/collections.json');
const initialJson = devalue.parse(await rawJsonResponse.text());
- assert.equal(initialJson.fileLoader[0].data.temperament.includes('Bouncy'), false);
+ assert.equal(initialJson.jsonLoader[0].data.temperament.includes('Bouncy'), false);
await fixture.editFile('/src/data/dogs.json', (prev) => {
const data = JSON.parse(prev);
@@ -359,7 +411,7 @@ describe('Content Layer', () => {
await fixture.onNextDataStoreChange();
const updatedJsonResponse = await fixture.fetch('/collections.json');
const updated = devalue.parse(await updatedJsonResponse.text());
- assert.ok(updated.fileLoader[0].data.temperament.includes('Bouncy'));
+ assert.ok(updated.jsonLoader[0].data.temperament.includes('Bouncy'));
await fixture.resetAllFiles();
});
});