mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 19:54:55 +00:00
Test for SendRequest action
This commit is contained in:
@@ -105,6 +105,70 @@ public class FriendsControllerTests
|
|||||||
Assert.That(objectResult.StatusCode, Is.EqualTo(500));
|
Assert.That(objectResult.StatusCode, Is.EqualTo(500));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test for SendRequest action
|
||||||
|
[Test]
|
||||||
|
public async Task SendRequest_ValidRequest_ReturnsOk()
|
||||||
|
{
|
||||||
|
var targetUserId = Guid.NewGuid();
|
||||||
|
|
||||||
|
var result = await _controller.SendRequest(targetUserId);
|
||||||
|
|
||||||
|
Assert.That(result, Is.InstanceOf<OkObjectResult>());
|
||||||
|
var okResult = result as OkObjectResult;
|
||||||
|
Assert.That(okResult?.Value.ToString(), Does.Contain("Friend request sent"));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public async Task SendRequest_Throws_InvalidOperationException_ReturnsUnprocessableEntity()
|
||||||
|
{
|
||||||
|
var targetUserId = Guid.NewGuid();
|
||||||
|
|
||||||
|
_currentUserServiceMock.Setup(c => c.GetCurrentUserId()).Returns(targetUserId);
|
||||||
|
|
||||||
|
_friendsServiceMock.Setup(f => f.SendFriendRequestAsync(targetUserId, targetUserId))
|
||||||
|
.ThrowsAsync(new InvalidOperationException());
|
||||||
|
|
||||||
|
var result = await _controller.SendRequest(targetUserId);
|
||||||
|
|
||||||
|
Assert.That(result, Is.InstanceOf<UnprocessableEntityObjectResult>());
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public async Task SendRequest_Throws_RequestAlreadySentException_ReturnsConflict()
|
||||||
|
{
|
||||||
|
var targetUserId = Guid.NewGuid();
|
||||||
|
var currentUserId = Guid.NewGuid();
|
||||||
|
|
||||||
|
_currentUserServiceMock.Setup(c => c.GetCurrentUserId()).Returns(currentUserId);
|
||||||
|
|
||||||
|
_friendsServiceMock.Setup(f => f.SendFriendRequestAsync(targetUserId, currentUserId))
|
||||||
|
.ThrowsAsync(new RequestAlreadySentException(currentUserId, targetUserId));
|
||||||
|
|
||||||
|
var result = await _controller.SendRequest(targetUserId);
|
||||||
|
|
||||||
|
Assert.That(result, Is.InstanceOf<ConflictObjectResult>());
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public async Task SendRequest_StatusCode500_IfThrowsSomeException()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
_friendsServiceMock.Setup(f => f.SendFriendRequestAsync(It.IsAny<Guid>(), It.IsAny<Guid>()))
|
||||||
|
.ThrowsAsync(new Exception(_fixture.Create<string>()));
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await _controller.Search(_fixture.Create<string>());
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.That(result, Is.InstanceOf<ObjectResult>());
|
||||||
|
var objectResult = result as ObjectResult;
|
||||||
|
Assert.That(objectResult.StatusCode, Is.EqualTo(500));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tests for GetIncomingRequests action
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[TearDown]
|
[TearDown]
|
||||||
public void TearDown()
|
public void TearDown()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user