| 2920 | |
| 2921 | #[tokio::test] |
| 2922 | async fn validate_is_admin() { |
| 2923 | let _guard = test::prepare().await; |
| 2924 | let users = vec![ |
| 2925 | user::User { |
| 2926 | email: "admin@user".into(), |
| 2927 | is_active: true, |
| 2928 | is_admin: true, |
| 2929 | ..Default::default() |
| 2930 | }, |
| 2931 | user::User { |
| 2932 | email: "inactive@user".into(), |
| 2933 | is_active: false, |
| 2934 | is_admin: false, |
| 2935 | ..Default::default() |
| 2936 | }, |
| 2937 | user::User { |
| 2938 | email: "normal@user".into(), |
| 2939 | is_active: true, |
| 2940 | is_admin: false, |
| 2941 | ..Default::default() |
| 2942 | }, |
| 2943 | ]; |
| 2944 | for u in &users { |
| 2945 | user::create(u.clone()).await.unwrap(); |
| 2946 | } |
| 2947 | |
| 2948 | let tests = vec![ |
| 2949 | // admin user |
| 2950 | ValidatorTest { |
| 2951 | validators: vec![ValidateIsAdmin::new()], |
| 2952 | id: AuthID::User(users[0].id.into()), |
| 2953 | ok: true, |
| 2954 | }, |
| 2955 | // inactive |
| 2956 | ValidatorTest { |
| 2957 | validators: vec![ValidateIsAdmin::new()], |
| 2958 | id: AuthID::User(users[1].id.into()), |
| 2959 | ok: false, |
| 2960 | }, |
| 2961 | // active regular user |
| 2962 | ValidatorTest { |
| 2963 | validators: vec![ValidateIsAdmin::new()], |
| 2964 | id: AuthID::User(users[2].id.into()), |
| 2965 | ok: false, |
| 2966 | }, |
| 2967 | ]; |
| 2968 | |
| 2969 | run_tests(tests).await; |
| 2970 | } |
| 2971 | |
| 2972 | #[tokio::test] |
| 2973 | async fn validate_active_user() { |