public void SendNotificationFriendshiprNotExists() { var notificationToSend = new Notification // user sends only notification and UserRecipientId! { // other fields set in function! Id = 0, SendingDate = new DateTime(), Text = "Notification 1", UserRecipientId = 2, UserRecipient = null, UserSenderId = 0, UserSender = null }; _uowMock.Setup(uow => uow.Users.FirstOrDefault(x => x.Id == 1, "")) .Returns(fakeCurrentUser); _uowMock.Setup(uow => uow.Users.FirstOrDefault(x => x.Id == notificationToSend.UserRecipientId, "")) .Returns(fakeOtherUser); _uowMock.Setup(uow => uow.Friendships.FirstOrDefault(f => (f.UserSenderId == 1 && f.UserRecipientId == notificationToSend.UserRecipientId && f.StatusCodeID == 'A') || (f.UserSenderId == notificationToSend.UserRecipientId && f.UserRecipientId == 1 && f.StatusCodeID == 'A'), "")) .Returns((Friendship)null); Exception ex = Assert.Throws <ValidationException>(delegate { _manager.SendNotification(notificationToSend, 1); }); Assert.That(ex.Message, Is.EqualTo("Friendship not exist!")); }
public void SendNotification() { var notificationToSend = new Notification // user sends only notification and UserRecipientId! { // other fields set in function! Id = 0, SendingDate = new DateTime(), Text = "Notification 1", UserRecipientId = 2, UserRecipient = null, UserSenderId = 0, UserSender = null }; _uowMock.Setup(uow => uow.Users.FirstOrDefault(x => x.Id == 1, "")) .Returns(fakeCurrentUser); _uowMock.Setup(uow => uow.Users.FirstOrDefault(x => x.Id == notificationToSend.UserRecipientId, "")) .Returns(fakeOtherUser); _uowMock.Setup(uow => uow.Friendships.FirstOrDefault(f => (f.UserSenderId == 1 && f.UserRecipientId == notificationToSend.UserRecipientId && f.StatusCodeID == 'A') || (f.UserSenderId == notificationToSend.UserRecipientId && f.UserRecipientId == 1 && f.StatusCodeID == 'A'), "")) .Returns(fakeFriendship); _uowMock.Setup(uow => uow.Notification.Add(notificationToSend, "")) .Returns(notificationToSend); _uowMock.Setup(uow => uow.Save()).Callback(() => { notificationToSend.Id = 11; }); var result = _manager.SendNotification(notificationToSend, 1); _uowMock.Verify(uow => uow.Notification.Add(notificationToSend, ""), Times.Once()); _uowMock.Verify(uow => uow.Save(), Times.Once()); Assert.AreEqual(11, result.Id); Assert.AreEqual(fakeCurrentUser.Id, result.UserSenderId); Assert.AreEqual(fakeCurrentUser, result.UserSender); Assert.AreEqual(fakeOtherUser, result.UserRecipient); }