summaryrefslogtreecommitdiff
path: root/src/test/fixtures/user.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2025-03-23 19:06:43 -0400
committerOwen Jacobson <owen@grimoire.ca>2025-03-23 20:01:54 -0400
commit5e4e052c400bb88933125f3549cec6dc12a9d09b (patch)
tree32ba0249d010d7706ba01464723f2f07a987266a /src/test/fixtures/user.rs
parentf6191926ba94b8a1b303bca7c6996dce67781290 (diff)
Rename `login` to `user` throughout the server
Diffstat (limited to 'src/test/fixtures/user.rs')
-rw-r--r--src/test/fixtures/user.rs51
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..e668c95
--- /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 login = app
+ .users()
+ .create(&name, &password, created_at)
+ .await
+ .expect("should always succeed if the login is actually new");
+
+ (login.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()
+}