From 52de04403ce6d32d40223305601af68d576f40e3 Mon Sep 17 00:00:00 2001 From: ember33 Date: Thu, 19 Mar 2026 22:31:08 +0100 Subject: [PATCH] test(spaces): fix tautological assertions, add missing edge case Remove redundant assert!(a || b) after assert!(b). Rename tests to better reflect what they test. Add multi_space_room_has_reqs_in_one_space_only to cover room with requirements in space A but not space B. --- src/service/rooms/roles/tests.rs | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/service/rooms/roles/tests.rs b/src/service/rooms/roles/tests.rs index 4396f774..fedcfd79 100644 --- a/src/service/rooms/roles/tests.rs +++ b/src/service/rooms/roles/tests.rs @@ -142,33 +142,36 @@ fn multi_space_user_only_in_one_space() { } #[test] -fn multi_space_join_or_logic_qualifies_in_any() { +fn multi_space_qualifies_in_one_not_other() { let space_a_reqs = make_set(&["staff"]); let space_b_reqs = make_set(&["nsfw"]); let user_roles = make_set(&["nsfw"]); - let qualifies_a = roles_satisfy_requirements(&space_a_reqs, &user_roles); - let qualifies_b = roles_satisfy_requirements(&space_b_reqs, &user_roles); - - assert!(!qualifies_a); - assert!(qualifies_b); - assert!(qualifies_a || qualifies_b); + assert!(!roles_satisfy_requirements(&space_a_reqs, &user_roles)); + assert!(roles_satisfy_requirements(&space_b_reqs, &user_roles)); } #[test] -fn multi_space_kick_or_logic_qualifies_in_other() { +fn multi_space_qualifies_after_role_revoke_via_other_space() { let space_a_reqs = make_set(&["nsfw"]); let space_b_reqs = make_set(&["vip"]); let user_roles_after_revoke = make_set(&["vip"]); - let qualifies_a = roles_satisfy_requirements(&space_a_reqs, &user_roles_after_revoke); - let qualifies_b = roles_satisfy_requirements(&space_b_reqs, &user_roles_after_revoke); + assert!(!roles_satisfy_requirements(&space_a_reqs, &user_roles_after_revoke)); + assert!(roles_satisfy_requirements(&space_b_reqs, &user_roles_after_revoke)); +} - assert!(!qualifies_a); - assert!(qualifies_b); - assert!(qualifies_a || qualifies_b); +#[test] +fn multi_space_room_has_reqs_in_one_space_only() { + let space_a_reqs = make_set(&["admin"]); + let space_b_reqs: HashSet = HashSet::new(); + + let user_roles = make_set(&["nsfw"]); + + assert!(!roles_satisfy_requirements(&space_a_reqs, &user_roles)); + assert!(roles_satisfy_requirements(&space_b_reqs, &user_roles)); } #[test]