Include waitlist entries w/ unknown platform when summarizing and sending invites

This commit is contained in:
Max Brunsfeld 2022-10-14 15:20:23 -07:00
parent c21e0e916c
commit 3a4e802093
3 changed files with 52 additions and 21 deletions

View file

@ -1022,6 +1022,7 @@ async fn test_signups() {
mac_count: 8,
linux_count: 4,
windows_count: 2,
unknown_count: 0,
}
);
@ -1029,7 +1030,7 @@ async fn test_signups() {
let signups_batch1 = db.get_unsent_invites(3).await.unwrap();
let addresses = signups_batch1
.iter()
.map(|s| &s.email_address)
.map(|s| &s.invite.email_address)
.collect::<Vec<_>>();
assert_eq!(
addresses,
@ -1040,8 +1041,8 @@ async fn test_signups() {
]
);
assert_ne!(
signups_batch1[0].email_confirmation_code,
signups_batch1[1].email_confirmation_code
signups_batch1[0].invite.email_confirmation_code,
signups_batch1[1].invite.email_confirmation_code
);
// the waitlist isn't updated until we record that the emails
@ -1051,11 +1052,18 @@ async fn test_signups() {
// once the emails go out, we can retrieve the next batch
// of signups.
db.record_sent_invites(&signups_batch1).await.unwrap();
db.record_sent_invites(
&signups_batch1
.iter()
.map(|i| i.invite.clone())
.collect::<Vec<_>>(),
)
.await
.unwrap();
let signups_batch2 = db.get_unsent_invites(3).await.unwrap();
let addresses = signups_batch2
.iter()
.map(|s| &s.email_address)
.map(|s| &s.invite.email_address)
.collect::<Vec<_>>();
assert_eq!(
addresses,
@ -1074,6 +1082,7 @@ async fn test_signups() {
mac_count: 5,
linux_count: 2,
windows_count: 1,
unknown_count: 0,
}
);
@ -1087,8 +1096,8 @@ async fn test_signups() {
} = db
.create_user_from_invite(
&Invite {
email_address: signups_batch1[0].email_address.clone(),
email_confirmation_code: signups_batch1[0].email_confirmation_code.clone(),
email_address: signups_batch1[0].invite.email_address.clone(),
email_confirmation_code: signups_batch1[0].invite.email_confirmation_code.clone(),
},
NewUserParams {
github_login: "person-0".into(),
@ -1108,8 +1117,8 @@ async fn test_signups() {
// cannot redeem the same signup again.
db.create_user_from_invite(
&Invite {
email_address: signups_batch1[0].email_address.clone(),
email_confirmation_code: signups_batch1[0].email_confirmation_code.clone(),
email_address: signups_batch1[0].invite.email_address.clone(),
email_confirmation_code: signups_batch1[0].invite.email_confirmation_code.clone(),
},
NewUserParams {
github_login: "some-other-github_account".into(),
@ -1123,7 +1132,7 @@ async fn test_signups() {
// cannot redeem a signup with the wrong confirmation code.
db.create_user_from_invite(
&Invite {
email_address: signups_batch1[1].email_address.clone(),
email_address: signups_batch1[1].invite.email_address.clone(),
email_confirmation_code: "the-wrong-code".to_string(),
},
NewUserParams {