Northeastern-Electric-Racing / Northeastern-Electric-Racing/FinishLine
Finance - Use Plain Date Policies For Reimbursement Create Date
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36
- Forks
- 9
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 11
Description
Description
We have new policies to deal with date data. As a developer, I want to utilize these policies to mitigate time zone bugs. Because Reimbursement's dateCreated is selected using a date picker, we should treat it as a date without time information in our code.
Acceptance Criteria
- After a user creates a reimbursement using the start date picker, the following should show the selected date, without time information, no matter the end user's time and timezone:
- POST endpoint payload when creating/updating reimbursement
- GET endpoint response when getting reimbursement
- Any displayed view on the frontend
Proposed Solution
Refer to the datetime policy documentation.
Identify all endpoints where Reimbursement.dateCreated data is transferred. Change these endpoints so they send and handle a date-only yyyy-mm-dd instead of a full timestamp. Write any necessary transformers and validators.
Test the endpoints with Vitest and manually. Test the view manually too.
Mocks
No response
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing Reimbursement.dateCreated through the POST and GET endpoints, the frontend date picker and displayed views. Read the linked datetime policy, then run the endpoint tests with Vitest and manually check the frontend across time zones. Done means every payload, response and displayed value uses the selected yyyy-mm-dd date without time information.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, frontend, full-stack
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100