Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add password email notice #94

Closed
wants to merge 3 commits into from
Closed

Conversation

tyrw
Copy link
Member

@tyrw tyrw commented Nov 25, 2023

Normal
Closes DEV-785

When a user attempts to log in with a password but does not have a password yet, display a notice for them to check their email.

Copy link

vercel bot commented Nov 25, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
vercel-toolkit-react-dev-app ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 6, 2023 1:12am
vercel-toolkit-react-storybook ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 6, 2023 1:12am

Copy link
Contributor

github-actions bot commented Nov 25, 2023

Coverage Summary for `package`

Status Category Percentage Covered / Total
🔵 Lines 68.6% 3204 / 4670
🔵 Statements 68.6% 3204 / 4670
🔵 Functions 49.72% 90 / 181
🔵 Branches 61.86% 133 / 215
File Coverage
File Stmts % Branch % Funcs % Lines Uncovered Lines
package/src/components/AlternativeButton.jsx 69.23% 100% 0% 69.23% 8-11
package/src/components/BackButton.jsx 39.47% 100% 0% 39.47% 14-36
package/src/components/ContinueButton.jsx 47.36% 100% 0% 47.36% 8-17
package/src/components/Divider.jsx 54.16% 100% 0% 54.16% 12-22
package/src/components/ErrorMessage.jsx 92.59% 33.33% 100% 92.59% 16-17
package/src/components/IconButton.jsx 28.57% 100% 0% 28.57% 15-16, 19-28, 47-136, 147-159
package/src/components/InfoMessage.jsx 45.83% 100% 0% 45.83% 10-22
package/src/components/PhoneNumberInput.jsx 69.44% 0% 0% 69.44% 24-34
package/src/components/RetryButton.jsx 61.11% 100% 0% 61.11% 10-16
package/src/components/SecuredByUserfront.jsx 100% 100% 100% 100%
package/src/components/SubmitButton.jsx 100% 100% 100% 100%
package/src/components/TestModeNotice.jsx 66.66% 50% 50% 66.66% 16-18, 20-21, 28-34
package/src/components/Input/BackupCodeInput.jsx 100% 100% 100% 100%
package/src/components/Input/BaseInput.jsx 93.54% 33.33% 100% 93.54% 27-28
package/src/components/Input/EmailInput.jsx 100% 100% 100% 100%
package/src/components/Input/EmailOrUsernameInput.jsx 100% 100% 100% 100%
package/src/components/Input/PasswordInput.jsx 90.9% 0% 0% 90.9% 20-23
package/src/components/Input/TotpCodeInput.jsx 100% 100% 100% 100%
package/src/components/Input/VerificationCodeInput.jsx 100% 100% 100% 100%
package/src/components/Input/index.jsx 88% 100% 50% 88% 23-25
package/src/forms/UniversalForm.jsx 51.47% 7.01% 100% 51.47% 175-177, 193-211, 214-224, 226-238, 240-246, 252-262, 264-276, 278-284, 288-295, 307-313, 315-321, 323-329, 333-337, 339-345, 347-351, 353-359, 361-365, 369-373, 375-381, 383-387, 389-395, 397-401, 405-409, 411-417, 419-422, 424-430, 434-447, 449-462, 464-468, 472-478, 480-486, 488-494, 496-502, 504-508, 511-515, 522-526, 530-534, 547-554, 557-560, 564-567, 571-575
package/src/models/config/actions.ts 66.99% 97.87% 87.8% 66.99% 63-77, 79-92, 96-101, 130-131, 148-150, 168-178, 183-189, 205-210, 216-222, 227-231, 238-244, 252-257, 274-275, 292-294, 322-335, 347-348, 360-364, 384-385, 388-403
package/src/models/config/guards.ts 77.53% 100% 55.55% 77.53% 44, 48, 55-60, 68, 73, 78, 85-91, 96, 101, 106-107, 117, 121, 125, 132-137
package/src/models/config/utils.ts 91.71% 100% 78.57% 91.71% 108-118, 123-124, 134
package/src/models/forms/universal.ts 91.63% 100% 5% 91.63% 97-98, 123-128, 133-134, 164-169, 173-174, 176-177, 179-180, 182-183, 185-186, 188-189, 242, 328-334, 618-626, 640-650, 756-763
package/src/models/views/emailCode.ts 96.8% 50% 100% 96.8% 37-38, 40-41
package/src/models/views/emailLink.ts 88.23% 28.57% 100% 88.23% 37-42, 49-50, 52-53, 94-95, 97-98
package/src/models/views/password.ts 78.3% 100% 0% 78.3% 42-64
package/src/models/views/selectFactor.ts 100% 100% 100% 100%
package/src/models/views/setNewPassword.ts 78.94% 100% 0% 78.94% 35-50
package/src/models/views/setUpTotp.ts 89.91% 100% 0% 89.91% 55-66
package/src/models/views/smsCode.ts 96.87% 50% 100% 96.87% 40-41, 43-44
package/src/models/views/totpCode.ts 66.66% 100% 0% 66.66% 37-61, 89-109
package/src/services/logging.js 38.46% 100% 0% 38.46% 5-6, 9-10, 13-15, 18-26
package/src/services/userfront.ts 65.88% 53.33% 60% 65.88% 49-62, 74-78, 83-85, 101-102, 104-108, 111-113, 128-129, 147-170
package/src/utils/hooks.js 80% 77.77% 100% 80% 12, 19-20, 22-23
package/src/views/AlreadyLoggedIn.jsx 77.77% 100% 0% 77.77% 6-7
package/src/views/EmailLinkSent.jsx 50% 100% 0% 50% 15-30
package/src/views/EnterEmail.jsx 71.42% 50% 50% 71.42% 20-33
package/src/views/EnterPhone.jsx 42.1% 100% 0% 42.1% 15-36
package/src/views/EnterTotpCode.jsx 18.11% 100% 0% 18.11% 22-125
package/src/views/EnterVerificationCode.jsx 34.78% 100% 0% 34.78% 15-44
package/src/views/GeneralErrorMessage.jsx 65% 100% 0% 65% 12-18
package/src/views/LogInWithPassword.jsx 28.33% 100% 0% 28.33% 16-58
package/src/views/Message.jsx 81.81% 100% 0% 81.81% 8-9
package/src/views/Placeholder.jsx 75% 100% 0% 75% 5-6
package/src/views/SelectFactor.jsx 26.8% 100% 0% 26.8% 25-95
package/src/views/SetNewPassword.jsx 62.36% 100% 50% 62.36% 19-53
package/src/views/SetNewPasswordSuccess.jsx 75% 100% 0% 75% 5-6
package/src/views/SetUpTotp.jsx 34.61% 100% 0% 34.61% 17-50
package/src/views/SetUpTotpSuccess.jsx 36.11% 100% 0% 36.11% 12-34
package/src/views/SignUpWithPassword.jsx 20.4% 100% 0% 20.4% 19-96
package/src/views/Success.jsx 50% 100% 0% 50% 10-20
package/src/views/TotpErrorMessage.jsx 48.48% 100% 0% 48.48% 15-31

Copy link
Contributor

@RJFelix RJFelix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks spot on so far, except a couple things I pointed out.

Maybe sometime tomorrow we can take 30 minutes or an hour to pair on automated testing for this. TDD works quite well with MBT (model-based testing) for making changes to an existing system - but unfortunately this isn't one of the models I wrote a test suite for, so there's no existing test to change 😔

Copy link
Contributor

@RJFelix RJFelix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tyrw I made the updates and this appears to work now, according to my understanding. Could you try it out at the Vercel deployment and make sure it meets your expectation? If it does, this is good to go!

@tyrw
Copy link
Member Author

tyrw commented Dec 6, 2023

@tyrw I made the updates and this appears to work now, according to my understanding. Could you try it out at the Vercel deployment and make sure it meets your expectation? If it does, this is good to go!

I added a user to the database with no password ([email protected]), and tried to use the form here:
https://vercel-toolkit-react-dev-app-git-dev-785-passw-dcdf40-userfront.vercel.app/live/login

However, the toolkit is sending with the options.noResetEmail: true flag set. How can we disable this for the test?

@drbrady8800 drbrady8800 closed this Jan 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants