contributor_tests.rs

 1use super::Database;
 2use crate::{db::NewUserParams, test_both_dbs};
 3use std::sync::Arc;
 4
 5test_both_dbs!(
 6    test_contributors,
 7    test_contributors_postgres,
 8    test_contributors_sqlite
 9);
10
11async fn test_contributors(db: &Arc<Database>) {
12    db.create_user(
13        "user1@example.com",
14        false,
15        NewUserParams {
16            github_login: "user1".to_string(),
17            github_user_id: 1,
18        },
19    )
20    .await
21    .unwrap();
22
23    assert_eq!(db.get_contributors().await.unwrap(), Vec::<String>::new());
24
25    db.add_contributor("user1", Some(1), None, None)
26        .await
27        .unwrap();
28    assert_eq!(
29        db.get_contributors().await.unwrap(),
30        vec!["user1".to_string()]
31    );
32
33    db.add_contributor("user2", Some(2), None, None)
34        .await
35        .unwrap();
36    assert_eq!(
37        db.get_contributors().await.unwrap(),
38        vec!["user1".to_string(), "user2".to_string()]
39    );
40}