diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2025-04-03 23:45:23 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2025-04-03 23:45:23 -0400 |
| commit | 9f7f82dbd9adee8ae18ae7ff2600b3e1dc8fadbc (patch) | |
| tree | d973d00486ffab3445e3ca454e93a941ed8fe6e2 /src/test/fixtures/user.rs | |
| parent | 24755a89a97a4d1cb10ebbcf41e200861f3bedf3 (diff) | |
| parent | 45eea07a56022f647b3a273798a5255cda73f13d (diff) | |
Merge branch 'prop/rename-login-to-user'
Diffstat (limited to 'src/test/fixtures/user.rs')
| -rw-r--r-- | src/test/fixtures/user.rs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/test/fixtures/user.rs b/src/test/fixtures/user.rs new file mode 100644 index 0000000..6448f64 --- /dev/null +++ b/src/test/fixtures/user.rs @@ -0,0 +1,51 @@ +use faker_rand::{en_us::internet, lorem::Paragraphs}; +use uuid::Uuid; + +use crate::{ + app::App, + clock::RequestedAt, + name::Name, + user::{self, Password, User}, +}; + +pub async fn create_with_password(app: &App, created_at: &RequestedAt) -> (Name, Password) { + let (name, password) = propose(); + let user = app + .users() + .create(&name, &password, created_at) + .await + .expect("should always succeed if the login is actually new"); + + (user.name, password) +} + +pub async fn create(app: &App, created_at: &RequestedAt) -> User { + let (name, password) = propose(); + app.users() + .create(&name, &password, created_at) + .await + .expect("should always succeed if the login is actually new") +} + +pub fn fictitious() -> User { + User { + id: user::Id::generate(), + name: propose_name(), + } +} + +pub fn propose() -> (Name, Password) { + (propose_name(), propose_password()) +} + +pub fn propose_invalid_name() -> Name { + rand::random::<Paragraphs>().to_string().into() +} + +fn propose_name() -> Name { + rand::random::<internet::Username>().to_string().into() +} + +pub fn propose_password() -> Password { + Uuid::new_v4().to_string().into() +} |
