Skip to content

Commit 0e9bd4f

Browse files
committed
Add a failing test for inactive users getting invites over active ones
1 parent c07223b commit 0e9bd4f

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/tests/owners.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,3 +366,36 @@ fn test_decline_invitation() {
366366
let json = anon.show_crate_owners("decline_invitation");
367367
assert_eq!(json.users.len(), 1);
368368
}
369+
370+
#[test]
371+
fn inactive_users_dont_get_invitations() {
372+
use cargo_registry::models::NewUser;
373+
use std::borrow::Cow;
374+
375+
let (app, _, owner, owner_token) = TestApp::init().with_token();
376+
let owner = owner.as_model();
377+
378+
// An inactive user with gh_id -1 and an active user with a non-negative gh_id both exist
379+
let invited_gh_login = "user_bar";
380+
let krate_name = "inactive_test";
381+
382+
app.db(|conn| {
383+
NewUser {
384+
gh_id: -1,
385+
gh_login: invited_gh_login,
386+
name: None,
387+
gh_avatar: None,
388+
gh_access_token: Cow::Borrowed("some random token"),
389+
}
390+
.create_or_update(None, conn)
391+
.unwrap();
392+
CrateBuilder::new(krate_name, owner.id).expect_build(conn);
393+
});
394+
395+
let invited_user = app.db_new_user(invited_gh_login);
396+
397+
owner_token.add_user_owner(krate_name, invited_user.as_model());
398+
399+
let json = invited_user.list_invitations();
400+
assert_eq!(json.crate_owner_invitations.len(), 1);
401+
}

0 commit comments

Comments
 (0)