public void AssignTicketShouldUpdateUser() { var userRepoMock = new Mock <IUserRepository>(); var userName = "******"; var newUserName = "******"; userRepoMock.Setup(x => x.GetUser(userName)).Returns(new User { Username = userName, FirstName = "Johan", LastName = "C" }); userRepoMock.Setup(x => x.GetUser(newUserName)).Returns(new User { Username = newUserName, FirstName = "Chen", LastName = "C" }); var service = new TicketService(userRepoMock.Object, new EmailServiceProxy()); var title = "test"; var priority = Priority.Medium; var desp = "The system crashed when user performed a search"; var createDate = DateTime.UtcNow; var ticketId = service.CreateTicket(title, priority, userName, desp, createDate, false); Ticket ticket = TicketRepository.GetTicket(ticketId); Assert.IsTrue(ticket.AssignedUser.Username == userName); service.AssignTicket(ticket.Id, newUserName); Ticket updatedTicket = TicketRepository.GetTicket(ticketId); Assert.IsTrue(updatedTicket.AssignedUser.Username == newUserName); }