public void GetCallInProgressByCallerId_AnyIds_CallerStatusQueued() { // Setup dependence var settingMock = new Mock<ISettings>(); var componentMock = new Mock<IComponents>(); var uowMock = new Mock<IUnitOfWork>(); var repositoryMock = new Mock<IRepository>(); var serviceLocatorMock = new Mock<IServiceLocator>(); serviceLocatorMock.Setup(r => r.GetInstance<IRepository>()) .Returns(repositoryMock.Object); ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object); // Arrange data Guid id = Guid.NewGuid(); string callerStatus = "queued"; Call call = new Call { Id = Guid.NewGuid(), CallerStatus = callerStatus, Caller = new User { Id = id } }; Call[] calls = new Call[] { call }; repositoryMock.Setup(r => r.Query<Call>()).Returns(calls.AsQueryable()); // Act CallService callService = new CallService(uowMock.Object, repositoryMock.Object, settingMock.Object, componentMock.Object); var currentCall = callService.GetCallByCallerIdAndStatus(id, callerStatus); // Assert Assert.AreEqual(call.Caller.Id, currentCall.Caller.Id); }