fix(build): add contextId to saved request file path

This commit is contained in:
Sam Tolmay 2020-11-10 14:46:31 +02:00
parent 1e9801b6ac
commit 81219b5c1d
4 changed files with 16 additions and 5 deletions

View File

@ -43,6 +43,7 @@ function buildRequests(block, context) {
}
block.requests.forEach((request) => {
request.requestId = request.id;
request.contextId = context.contextId;
request.id = `request:${context.pageId}:${context.contextId}:${request.id}`;
context.requests.push(request);
});

View File

@ -1025,6 +1025,7 @@ describe('build requests', () => {
{
id: 'request:page_1:page_1:request_1',
requestId: 'request_1',
contextId: 'page_1',
},
],
},
@ -1074,6 +1075,7 @@ describe('build requests', () => {
{
id: 'request:page_1:context:request_1',
requestId: 'request_1',
contextId: 'context',
},
],
},
@ -1118,6 +1120,7 @@ describe('build requests', () => {
{
id: 'request:page_1:page_1:request_1',
requestId: 'request_1',
contextId: 'page_1',
},
],
areas: {
@ -1185,6 +1188,7 @@ describe('build requests', () => {
{
id: 'request:page_1:context:request_1',
requestId: 'request_1',
contextId: 'context',
},
],
areas: {
@ -1238,10 +1242,12 @@ describe('build requests', () => {
{
id: 'request:page_1:page_1:request_1',
requestId: 'request_1',
contextId: 'page_1',
},
{
id: 'request:page_1:page_1:request_2',
requestId: 'request_2',
contextId: 'page_1',
},
],
},

View File

@ -43,7 +43,7 @@ function getRequestsOnBlock({ block, requests, pageId }) {
}
}
async function updateRequestsOnPage({ page, context }) {
async function writeRequestsOnPage({ page, context }) {
if (!type.isObject(page)) {
throw new Error(`Page is not an object.`);
}
@ -52,7 +52,7 @@ async function updateRequestsOnPage({ page, context }) {
return requests.map(async (request) => {
await context.artifactSetter.set({
filePath: `pages/${page.pageId}/requests/${request.requestId}.json`,
filePath: `pages/${page.pageId}/requests/${request.contextId}/${request.requestId}.json`,
content: JSON.stringify(request, null, 2),
});
});
@ -63,7 +63,7 @@ async function writeRequests({ components, context }) {
if (!type.isArray(components.pages)) {
throw new Error(`Pages is not an array.`);
}
const writePromises = components.pages.map((page) => updateRequestsOnPage({ page, context }));
const writePromises = components.pages.map((page) => writeRequestsOnPage({ page, context }));
return Promise.all(writePromises);
}

View File

@ -39,6 +39,7 @@ test('writeRequests write request', async () => {
{
id: 'request:page1:page1:request1',
requestId: 'request1',
contextId: 'page1',
connectionId: 'connection1',
properties: { key: 'value' },
},
@ -50,10 +51,11 @@ test('writeRequests write request', async () => {
expect(mockSet.mock.calls).toEqual([
[
{
filePath: 'pages/page1/requests/request1.json',
filePath: 'pages/page1/requests/page1/request1.json',
content: `{
"id": "request:page1:page1:request1",
"requestId": "request1",
"contextId": "page1",
"connectionId": "connection1",
"properties": {
"key": "value"
@ -80,6 +82,7 @@ test('writeRequests write nested request', async () => {
{
id: 'request:page1:page1:request1',
requestId: 'request1',
contextId: 'page1',
connectionId: 'connection1',
properties: { key: 'value' },
},
@ -95,10 +98,11 @@ test('writeRequests write nested request', async () => {
expect(mockSet.mock.calls).toEqual([
[
{
filePath: 'pages/page1/requests/request1.json',
filePath: 'pages/page1/requests/page1/request1.json',
content: `{
"id": "request:page1:page1:request1",
"requestId": "request1",
"contextId": "page1",
"connectionId": "connection1",
"properties": {
"key": "value"