@@ -35,22 +35,44 @@ fn mentions_in_commits_warn(commits: Vec<&str>) -> String {
35
35
}
36
36
37
37
#[ test]
38
- fn test_warning_printing ( ) {
39
- let commits_to_warn = vec ! [
40
- "4d6ze57403udfrzefrfe6574" ,
41
- "f54efz57405u46z6ef465z4f6ze57" ,
42
- "404u57403uzf5fe5f4f5e57405u4zf" ,
43
- ] ;
38
+ fn test_mentions_in_commits ( ) {
39
+ fn dummy_commit_from_body ( sha : & str , body : & str ) -> GithubCommit {
40
+ use chrono:: { DateTime , FixedOffset } ;
44
41
45
- let msg = mentions_in_commits_warn ( commits_to_warn) ;
42
+ GithubCommit {
43
+ sha : sha. to_string ( ) ,
44
+ commit : crate :: github:: GithubCommitCommitField {
45
+ author : crate :: github:: GitUser {
46
+ date : DateTime :: < FixedOffset > :: MIN_UTC . into ( ) ,
47
+ } ,
48
+ message : body. to_string ( ) ,
49
+ tree : crate :: github:: GitCommitTree {
50
+ sha : "60ff73dfdd81aa1e6737eb3dacdfd4a141f6e14d" . to_string ( ) ,
51
+ } ,
52
+ } ,
53
+ parents : vec ! [ ] ,
54
+ }
55
+ }
56
+
57
+ let mut commits = vec ! [ dummy_commit_from_body(
58
+ "d1992a392617dfb10518c3e56446b6c9efae38b0" ,
59
+ "This is simple without mentions!" ,
60
+ ) ] ;
61
+
62
+ assert_eq ! ( mentions_in_commits( & NoMentionsConfig { } , & commits) , None ) ;
63
+
64
+ commits. push ( dummy_commit_from_body (
65
+ "d7daa17bc97df9377640b0d33cbd0bbeed703c3a" ,
66
+ "This is a body with a @mention!" ,
67
+ ) ) ;
46
68
47
69
assert_eq ! (
48
- msg,
49
- r#"There are username mentions (such as `@user`) in the commit messages of the following commits.
70
+ mentions_in_commits( & NoMentionsConfig { } , & commits) ,
71
+ Some (
72
+ r#"There are username mentions (such as `@user`) in the commit messages of the following commits.
50
73
*Please remove the mentions to avoid spamming these users.*
51
- - 4d6ze57403udfrzefrfe6574
52
- - f54efz57405u46z6ef465z4f6ze57
53
- - 404u57403uzf5fe5f4f5e57405u4zf
54
- "#
74
+ - d7daa17bc97df9377640b0d33cbd0bbeed703c3a
75
+ "# . to_string( )
76
+ )
55
77
) ;
56
78
}
0 commit comments