From 2af540b6413bd4d3567864c0816d3da704af16ca Mon Sep 17 00:00:00 2001 From: Weston Dransfield Date: Tue, 25 Jan 2022 15:56:06 -0700 Subject: [PATCH] Set category when creating button & icon files closes MAT-631 flag=rce_buttons_and_icons Test Plan: - Create a button and icon and observe the network requests being made for the file upload - Verify a category: "buttons_and_icons" param is sent in the post request to the "http://rce.canvas.docker/api/upload" endpoint Change-Id: I21ee4d7af00f6b8642c44c4388497df62759674b Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283594 Tested-by: Service Cloud Jenkins Reviewed-by: Joe Hernandez QA-Review: Joe Hernandez Product-Review: Weston Dransfield --- packages/canvas-rce/src/rcs/api.js | 3 ++- packages/canvas-rce/src/sidebar/actions/upload.js | 8 +++++++- packages/canvas-rce/test/rcs/api.test.js | 11 +++++++++++ .../canvas-rce/test/sidebar/actions/upload.test.js | 4 +++- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/packages/canvas-rce/src/rcs/api.js b/packages/canvas-rce/src/rcs/api.js index 28f19b68b3a..80cdb12ce84 100644 --- a/packages/canvas-rce/src/rcs/api.js +++ b/packages/canvas-rce/src/rcs/api.js @@ -365,7 +365,8 @@ class RceApiSource { contextType: apiProps.contextType, file: fileProps, no_redirect: true, - onDuplicate: apiProps.onDuplicate + onDuplicate: apiProps.onDuplicate, + category: apiProps.category } return this.apiPost(uri, headers, body) diff --git a/packages/canvas-rce/src/sidebar/actions/upload.js b/packages/canvas-rce/src/sidebar/actions/upload.js index 04d5d0a9216..b9425d20691 100644 --- a/packages/canvas-rce/src/sidebar/actions/upload.js +++ b/packages/canvas-rce/src/sidebar/actions/upload.js @@ -266,7 +266,13 @@ export function uploadToButtonsAndIconsFolder(svg, uploadSettings = {}) { .then(({folders}) => { fileMetaProps.parentFolderId = folders[0].id return source - .preflightUpload(fileMetaProps, {host, contextId, contextType, onDuplicate}) + .preflightUpload(fileMetaProps, { + host, + contextId, + contextType, + onDuplicate, + category: 'buttons_and_icons' + }) .then(results => { return source.uploadFRD(svgAsFile, results) }) diff --git a/packages/canvas-rce/test/rcs/api.test.js b/packages/canvas-rce/test/rcs/api.test.js index e380c79d731..0d0261d3ff1 100644 --- a/packages/canvas-rce/test/rcs/api.test.js +++ b/packages/canvas-rce/test/rcs/api.test.js @@ -564,6 +564,17 @@ describe('sources/api', () => { }) }) + it('includes "category"', () => { + fetchMock.mock(uri, '{}') + + return apiSource + .preflightUpload(fileProps, {category: 'buttons_and_icons'}, apiProps) + .then(() => { + const body = JSON.parse(fetchMock.lastOptions(uri).body) + assert.equal(body.category, 'buttons_and_icons') + }) + }) + it('includes jwt in Authorization header', () => { fetchMock.mock(uri, '{}') diff --git a/packages/canvas-rce/test/sidebar/actions/upload.test.js b/packages/canvas-rce/test/sidebar/actions/upload.test.js index 1fde7016b55..5c726701c29 100644 --- a/packages/canvas-rce/test/sidebar/actions/upload.test.js +++ b/packages/canvas-rce/test/sidebar/actions/upload.test.js @@ -230,7 +230,8 @@ describe('Upload data actions', () => { host: 'http://host:port', contextId: 101, contextType: 'course', - onDuplicate: undefined + onDuplicate: undefined, + category: 'buttons_and_icons' } return store.dispatch(actions.uploadToButtonsAndIconsFolder(svg)).then(() => { @@ -273,6 +274,7 @@ describe('Upload data actions', () => { parentFolderId: 2 }, { + category: 'buttons_and_icons', contextId: 101, contextType: 'course', host: 'http://host:port',