public async Task CreateFriendshipAsync_CreateFriendshipWithYourSelf_ThrowException() { // Arrange var mockRepository = new Mock <IFriendshipRepository>(); var friendshipService = new FriendshipService(mockRepository.Object, mockUserService.Object); // Act and Assert Assert.ThrowsAsync(typeof(BadRequestExceptions), () => friendshipService.CreateFriendshipAsync(user1.Id)); // Act Exception expectedExcetpion = null; try { var result = await friendshipService.CreateFriendshipAsync(user1.Id); } catch (Exception ex) { expectedExcetpion = ex; } // Assert Assert.IsNotNull(expectedExcetpion); Assert.IsInstanceOf <BadRequestExceptions>(expectedExcetpion); Assert.AreEqual(expectedExcetpion.Message, "you can't send Friendship request to yourself"); }
public async Task CreateFriendshipAsync_CreateFriendshipWithSomeoneWhoRejectedYouRecently_ThrowException() { // Arrange var friendship = new Friendship { FromUserId = user1.Id, ToUserId = user2.Id, State = FriendshipState.Rejected, }; var mockRepository = new Mock <IFriendshipRepository>(); mockRepository.Setup(repository => repository.GetByFromUserAndToUserAsync(user1.Id, user2.Id)) .ReturnsAsync(friendship); var friendshipService = new FriendshipService(mockRepository.Object, mockUserService.Object); // Act Exception expectedExcetpion = null; try { var result = await friendshipService.CreateFriendshipAsync(user2.Id); } catch (Exception ex) { expectedExcetpion = ex; } // Assert Assert.IsNotNull(expectedExcetpion); Assert.IsInstanceOf <BadRequestExceptions>(expectedExcetpion); Assert.AreEqual(expectedExcetpion.Message, "your previous Friendship request rejected by this user"); }
/// <inheritdoc /> public async Task Handle(FriendshipRequestAcceptedDomainEvent notification, CancellationToken cancellationToken) { var friendshipService = new FriendshipService(_userRepository, _friendshipRepository); await friendshipService.CreateFriendshipAsync(notification.FriendshipRequest); await _unitOfWork.SaveChangesAsync(cancellationToken); }
public async Task CreateFriendshipAsync_CreateNewFriendship_ReturnOne() { // Arrange var mockRepository = new Mock <IFriendshipRepository>(); mockRepository.Setup(repository => repository.InsertAsync( It.Is <Friendship>(x => x.FromUserId == user1.Id && x.ToUserId == user2.Id && x.State == FriendshipState.Requested))) .ReturnsAsync(1); var friendshipService = new FriendshipService(mockRepository.Object, mockUserService.Object); // Act var result = await friendshipService.CreateFriendshipAsync(user2.Id); // Assert Assert.AreEqual(result, 1); }