@@ -9,33 +9,37 @@ struct UserStats {
9
9
fn user_total_downloads ( ) {
10
10
use crate :: builders:: CrateBuilder ;
11
11
use crate :: util:: { RequestHelper , TestApp } ;
12
- use diesel:: { update, RunQueryDsl } ;
12
+ use crates_io:: schema:: crate_downloads;
13
+ use diesel:: prelude:: * ;
14
+ use diesel:: { update, QueryDsl , RunQueryDsl } ;
13
15
14
16
let ( app, anon, user) = TestApp :: init ( ) . with_user ( ) ;
15
17
let user = user. as_model ( ) ;
16
18
let another_user = app. db_new_user ( "bar" ) ;
17
19
let another_user = another_user. as_model ( ) ;
18
20
19
21
app. db ( |conn| {
20
- let mut krate = CrateBuilder :: new ( "foo_krate1" , user. id ) . expect_build ( conn) ;
21
- krate. downloads = 10 ;
22
- update ( & krate) . set ( & krate) . execute ( conn) . unwrap ( ) ;
23
-
24
- let mut krate2 = CrateBuilder :: new ( "foo_krate2" , user. id ) . expect_build ( conn) ;
25
- krate2. downloads = 20 ;
26
- update ( & krate2) . set ( & krate2) . execute ( conn) . unwrap ( ) ;
27
-
28
- let mut another_krate = CrateBuilder :: new ( "bar_krate1" , another_user. id ) . expect_build ( conn) ;
29
- another_krate. downloads = 2 ;
30
- update ( & another_krate)
31
- . set ( & another_krate)
22
+ let krate = CrateBuilder :: new ( "foo_krate1" , user. id ) . expect_build ( conn) ;
23
+ update ( crate_downloads:: table. filter ( crate_downloads:: crate_id. eq ( krate. id ) ) )
24
+ . set ( crate_downloads:: downloads. eq ( 10 ) )
32
25
. execute ( conn)
33
26
. unwrap ( ) ;
34
27
35
- let mut no_longer_my_krate = CrateBuilder :: new ( "nacho" , user. id ) . expect_build ( conn) ;
36
- no_longer_my_krate. downloads = 5 ;
37
- update ( & no_longer_my_krate)
38
- . set ( & no_longer_my_krate)
28
+ let krate2 = CrateBuilder :: new ( "foo_krate2" , user. id ) . expect_build ( conn) ;
29
+ update ( crate_downloads:: table. filter ( crate_downloads:: crate_id. eq ( krate2. id ) ) )
30
+ . set ( crate_downloads:: downloads. eq ( 20 ) )
31
+ . execute ( conn)
32
+ . unwrap ( ) ;
33
+
34
+ let another_krate = CrateBuilder :: new ( "bar_krate1" , another_user. id ) . expect_build ( conn) ;
35
+ update ( crate_downloads:: table. filter ( crate_downloads:: crate_id. eq ( another_krate. id ) ) )
36
+ . set ( crate_downloads:: downloads. eq ( 2 ) )
37
+ . execute ( conn)
38
+ . unwrap ( ) ;
39
+
40
+ let no_longer_my_krate = CrateBuilder :: new ( "nacho" , user. id ) . expect_build ( conn) ;
41
+ update ( crate_downloads:: table. filter ( crate_downloads:: crate_id. eq ( no_longer_my_krate. id ) ) )
42
+ . set ( crate_downloads:: downloads. eq ( 5 ) )
39
43
. execute ( conn)
40
44
. unwrap ( ) ;
41
45
no_longer_my_krate
0 commit comments