From 523e55508b8d2a03dad37d930eea48d410b5bc3a Mon Sep 17 00:00:00 2001 From: Artemy <109195690+stalcker2288969@users.noreply.github.com> Date: Mon, 30 Jun 2025 14:44:15 +0700 Subject: [PATCH] Update FriendsServiceTests.cs --- .../UnitTests/Services/FriendsServiceTests.cs | 43 +++++++++++++++++-- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/Govor.API.Tests/UnitTests/Services/FriendsServiceTests.cs b/Govor.API.Tests/UnitTests/Services/FriendsServiceTests.cs index 407bfba..fac5fe0 100644 --- a/Govor.API.Tests/UnitTests/Services/FriendsServiceTests.cs +++ b/Govor.API.Tests/UnitTests/Services/FriendsServiceTests.cs @@ -96,7 +96,7 @@ public class FriendsServiceTests } [Test] - public async Task SearchUsersAsync_Throws_UnauthorizedAccessException_IfThrowsSomeExceptionInUsersRepository() + public void SearchUsersAsync_Throws_UnauthorizedAccessException_IfThrowsSomeExceptionInUsersRepository() { // Arrange _usersRepositoryMock @@ -108,7 +108,7 @@ public class FriendsServiceTests } [Test] - public async Task SearchUsersAsync_Throws_UnauthorizedAccessException_IfThrowsSomeExceptionInFriendshipsRepository() + public void SearchUsersAsync_Throws_UnauthorizedAccessException_IfThrowsSomeExceptionInFriendshipsRepository() { // Arrange _friendshipsRepositoryMock @@ -127,7 +127,7 @@ public class FriendsServiceTests // Arrange var userId = Guid.NewGuid(); - // Act + Assert + // Act & Assert var ex = Assert.ThrowsAsync(() => _service.SendFriendRequestAsync(userId, userId)); @@ -145,7 +145,7 @@ public class FriendsServiceTests .Setup(repo => repo.Exist(fromUserId, toUserId)) .Returns(true); - // Act + Assert + // Act & Assert Assert.ThrowsAsync(() => _service.SendFriendRequestAsync(fromUserId, toUserId)); } @@ -174,4 +174,39 @@ public class FriendsServiceTests )), Times.Once); } + + // AcceptFriendRequestAsync + [Test] + public async Task AcceptFriendRequestAsync_ValidRequest_CallsUpdateAsync() + { + var friendship = _fixture.Build() + .With(f => f.Status, FriendshipStatus.Pending) + .Create(); + + _friendshipsRepositoryMock + .Setup(r => r.GetByIdAsync(friendship.Id)) + .ReturnsAsync(friendship); + + // Act: вызываем именно Accept, не Send + await _service.AcceptFriendRequestAsync(friendship.Id, friendship.AddresseeId); + + // Assert + _friendshipsRepositoryMock.Verify(r => r.UpdateAsync(It.Is(f => + f.Id == friendship.Id && + f.RequesterId == friendship.RequesterId && + f.AddresseeId == friendship.AddresseeId && + f.Status == FriendshipStatus.Accepted + )), Times.Once); + } + + [Test] + public void AcceptFriendRequestAsync_Throws_InvalidOperationException_IfStatusNotEqualPending() + { + var friendship = _fixture.Build() + .With(f => f.Status, FriendshipStatus.Accepted) + .Create(); + + + + } }