Copy Placeholders for RecommendationRequest pages; add to App.js/AppNavbar.js
Acceptance Criteria:
[ ] When you navigate to /recommendationrequest/create in the URL bar,
there is page that allows the user to create a new RecommendationRequest record.
[ ] When you enter data into the form and click the submit button,
if the data is valid, the data is sent to the server,
a new RecommendationRequest record is created,and the user is routed to the
/recommendationrequest route for the RecommendationRequestIndexPage page.
[ ] When you enter data into the form and click the submit button,
if the data is not valid,appropriate error messages are displayed,
the data is NOT sent to the server, a new RecommendationRequest record is NOT created,
and the user remains on the recommendationrequest/create page.
[ ] When you submit valid data to the page and click submit, a new valid database
entry is stored in the database. (You can verify this by using the swagger
endpoint to view the current data in the table.)
[ ] The PR description has step-by-step descriptions for testing the new page, along
with screenshots, so that someone reviewing the PR will know what to do to test
it, and what it is supposed to look like when it functions correctly.
[ ] The PR description has a link to the storybook entry for the new page.
Implementation Details
[ ] Before starting, refamiliarize yourself with the backend CRUD API endpoints for
RecommendationRequest by looking at the swagger page. You are going to be copy/pasting
code from the Restaurant and UCSBDates components. Those use backend api endpoints
that are similar to the ones for RecommendationRequest, but not identical. You will need
to know the exact name of the API endpoints for RecommendationRequest in order to
be sure that your frontend code is calling the correct backend endpoints.
[ ] In RecommendationRequestCreatePage.js, replace the code from PlaceholderCreatePage.js
with code modelled after the files RestaurantCreatePage.js and/or UCSBDatesCreatePage.js
that is appropriate to your RecommendationRequest table. Be sure to get the API endpoint names correct for your RecommendationRequest table.
[ ] In RecommendationRequestCreatePage.test.js, replace the code from PlaceholderCreatePage.test.js
with code modelled after the files RestaurantCreatePage.test.js and/or UCSBDatesCreatePage.test.js
appropriate to your RecommendationRequest table. Be sure to get the API endpoint names correct for your RecommendationRequest table.
[ ] Under frontend/src/stories/pages/RecommendationRequest/ create a file called RecommendationRequestCreatePage.stories.js
modelled after the files RestaurantCreatePage.stories.js and/or UCSBDatesCreatePage.stories.js.
Reminders (all from frontend directory):
To run storybook locally: npm run storybook.
To run tests locally: npm test.
Quickly test coverage locally: npm run coverage
Check linting locally: npx eslint --fix .
Check mutation coverage locally (slow): npx stryker run
Check mutation coverage of single file (faster): npx stryker run -m src/main/pages/RecommendationRequest/RecommendationRequestCreatePage.js
What to do next
Do a PR (following the usual steps).
Check for other PRs
Start work on "Index Page for RecommendationRequest plus tests and stories"(following the usual steps for a new issue)
Dependencies
Complete the following issues first:
RecommendationRequest
pages; add to App.js/AppNavbar.jsAcceptance Criteria:
[ ] When you navigate to
/recommendationrequest/create
in the URL bar, there is page that allows the user to create a new RecommendationRequest record.[ ] When you enter data into the form and click the submit button, if the data is valid, the data is sent to the server, a new RecommendationRequest record is created,and the user is routed to the
/recommendationrequest
route for theRecommendationRequestIndexPage
page.[ ] When you enter data into the form and click the submit button, if the data is not valid,appropriate error messages are displayed, the data is NOT sent to the server, a new RecommendationRequest record is NOT created, and the user remains on the
recommendationrequest/create
page.[ ] When you submit valid data to the page and click submit, a new valid database entry is stored in the database. (You can verify this by using the swagger endpoint to view the current data in the table.)
[ ] The PR description has step-by-step descriptions for testing the new page, along with screenshots, so that someone reviewing the PR will know what to do to test it, and what it is supposed to look like when it functions correctly.
[ ] The PR description has a link to the storybook entry for the new page.
Implementation Details
[ ] Before starting, refamiliarize yourself with the backend CRUD API endpoints for
RecommendationRequest
by looking at the swagger page. You are going to be copy/pasting code from theRestaurant
andUCSBDates
components. Those use backend api endpoints that are similar to the ones forRecommendationRequest
, but not identical. You will need to know the exact name of the API endpoints forRecommendationRequest
in order to be sure that your frontend code is calling the correct backend endpoints.[ ] In
RecommendationRequestCreatePage.js
, replace the code fromPlaceholderCreatePage.js
with code modelled after the filesRestaurantCreatePage.js
and/orUCSBDatesCreatePage.js
that is appropriate to yourRecommendationRequest
table. Be sure to get the API endpoint names correct for yourRecommendationRequest
table.[ ] In
RecommendationRequestCreatePage.test.js
, replace the code fromPlaceholderCreatePage.test.js
with code modelled after the filesRestaurantCreatePage.test.js
and/orUCSBDatesCreatePage.test.js
appropriate to yourRecommendationRequest
table. Be sure to get the API endpoint names correct for yourRecommendationRequest
table.[ ] Under
frontend/src/stories/pages/RecommendationRequest/
create a file calledRecommendationRequestCreatePage.stories.js
modelled after the filesRestaurantCreatePage.stories.js
and/orUCSBDatesCreatePage.stories.js
.Reminders (all from
frontend
directory):npm run storybook
.npm test
.npm run coverage
npx eslint --fix .
npx stryker run
npx stryker run -m src/main/pages/RecommendationRequest/RecommendationRequestCreatePage.js
What to do next
RecommendationRequest
plus tests and stories"(following the usual steps for a new issue)