| 526 | |
| 527 | #[tokio::test] |
| 528 | async fn edit_user_happy_path() { |
| 529 | let ctx: TestContext = setup(); |
| 530 | let mut user = user_test_utils::mock_user(); |
| 531 | user.identities = vec![Principal::from_slice(&[1; 29])]; |
| 532 | |
| 533 | ctx.repository.insert(user.to_key(), user.clone()); |
| 534 | |
| 535 | let input = EditUserOperationInput { |
| 536 | user_id: user.id, |
| 537 | identities: Some(vec![ctx.call_context.caller()]), |
| 538 | groups: None, |
| 539 | name: None, |
| 540 | status: None, |
| 541 | cancel_pending_requests: None, |
| 542 | }; |
| 543 | |
| 544 | let result = ctx.service.edit_user(input).await; |
| 545 | assert!(result.is_ok()); |
| 546 | |
| 547 | let user = ctx.repository.get(&result.unwrap().to_key()).unwrap(); |
| 548 | assert_eq!(user.identities, vec![ctx.call_context.caller()]); |
| 549 | } |
| 550 | |
| 551 | #[tokio::test] |
| 552 | async fn edit_user_should_fail_for_identity_of_existing_user() { |