public void Invoke_EmptyGuid_ReturnsNull() { // prepare var mockedUserRepository = new Mock <IUserRepository>(); var action = new GetUserPrivateConversations(mockedUserRepository.Object); // action var result = action.Invoke(new Guid()); // assert Assert.Null(result); mockedUserRepository.Verify(r => r.GetPrivateConversations(It.IsAny <Guid>()), Times.Never); }
public void Invoke_ValidData_ReturnsCorrectModel() { // prepare var guidRoom = Guid.NewGuid(); var guid = Guid.NewGuid(); var tag = new Tag { Name = "TestTag" }; var room = new DataAccess.Models.Room { Name = "TestRoom" }; var lastMessage = new DataAccess.Models.Message { Text = "LastMessage" }; var userRoomsFromDb = new List <DataAccess.Models.UserRoom> { new DataAccess.Models.UserRoom { Id = guid, Room = room, LastMessage = lastMessage, Tags = new List <Tag> { tag } } }; var mockedUserRepository = new Mock <IUserRepository>(); mockedUserRepository.Setup(r => r.GetPrivateConversations(It.IsAny <Guid>())).Returns(userRoomsFromDb.AsQueryable()); var action = new GetUserPrivateConversations(mockedUserRepository.Object); // action var result = action.Invoke(guidRoom); // check Assert.NotNull(result); Assert.Equal(guid, result[0].Id); Assert.Equal("TestTag", result[0].Tags[0].Name); Assert.Equal("TestRoom", result[0].Room.Name); Assert.Equal("LastMessage", result[0].LastMessage.Text); mockedUserRepository.Verify(r => r.GetPrivateConversations(It.IsAny <Guid>()), Times.Once); }