test(spaces): fix tautological assertions, add missing edge case
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been skipped
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 5s
Checks / Prek / Clippy and Cargo Tests (pull_request) Failing after 5s
Update flake hashes / update-flake-hashes (pull_request) Failing after 5s

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.
This commit is contained in:
ember33 2026-03-19 22:31:08 +01:00
parent aae23a083b
commit 52de04403c

View file

@ -142,33 +142,36 @@ fn multi_space_user_only_in_one_space() {
} }
#[test] #[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_a_reqs = make_set(&["staff"]);
let space_b_reqs = make_set(&["nsfw"]); let space_b_reqs = make_set(&["nsfw"]);
let user_roles = make_set(&["nsfw"]); let user_roles = make_set(&["nsfw"]);
let qualifies_a = roles_satisfy_requirements(&space_a_reqs, &user_roles); assert!(!roles_satisfy_requirements(&space_a_reqs, &user_roles));
let qualifies_b = roles_satisfy_requirements(&space_b_reqs, &user_roles); assert!(roles_satisfy_requirements(&space_b_reqs, &user_roles));
assert!(!qualifies_a);
assert!(qualifies_b);
assert!(qualifies_a || qualifies_b);
} }
#[test] #[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_a_reqs = make_set(&["nsfw"]);
let space_b_reqs = make_set(&["vip"]); let space_b_reqs = make_set(&["vip"]);
let user_roles_after_revoke = make_set(&["vip"]); let user_roles_after_revoke = make_set(&["vip"]);
let qualifies_a = roles_satisfy_requirements(&space_a_reqs, &user_roles_after_revoke); assert!(!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_b_reqs, &user_roles_after_revoke));
}
assert!(!qualifies_a); #[test]
assert!(qualifies_b); fn multi_space_room_has_reqs_in_one_space_only() {
assert!(qualifies_a || qualifies_b); let space_a_reqs = make_set(&["admin"]);
let space_b_reqs: HashSet<String> = 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] #[test]