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}