public void TokenSystemDbService_GetCustomersTokenDetails_ReturnsCustomerDashboardDetails() { // Arrange var mockContainer = new Mock <Container>(); var mockCosmosClient = new Mock <CosmosClient>(); var responseMock = new Mock <ItemResponse <Customer> >(); var existingCusotmers = new List <Customer> { new Customer { Id = "1111-11-111", FirstName = "First", Surname = "SecondName", Age = 35, CustomerType = CustomerType.AccountHolder, AccountNumber = 123456, Token = new Token { ServiceType = ServiceType.Transaction, TokenNumber = 1, Counter = 0, Status = Status.InQueue } }, new Customer { Id = "2222-222-222", FirstName = "Second", Surname = "Customer", Age = 35, CustomerType = CustomerType.Guest, SocialNumber = 76543, Token = new Token { ServiceType = ServiceType.Service, TokenNumber = 2, Counter = 2, Status = Status.InCounter } }, new Customer { Id = "3333-333-333", FirstName = "Third", Surname = "Customer", Age = 34, CustomerType = CustomerType.Guest, SocialNumber = 1234322, Token = new Token { ServiceType = ServiceType.Service, TokenNumber = 3, Counter = 0, Status = Status.InQueue } } }.AsQueryable(); var expected = new List <CustomerDashboard> { new CustomerDashboard { TokenNumber = 1, EstimatedWaitingTime = 5, Counter = 0 }, new CustomerDashboard { TokenNumber = 3, EstimatedWaitingTime = 25, Counter = 0 } }; mockContainer.Setup(x => x.GetItemLinqQueryable <Customer>(true, null, null)) .Returns((IOrderedQueryable <Customer>)existingCusotmers); mockCosmosClient.Setup(x => x.GetContainer(It.IsAny <string>(), It.IsAny <string>())) .Returns(mockContainer.Object); var serviceUnderTest = new TokenSystemDbService(mockCosmosClient.Object, It.IsAny <string>(), It.IsAny <string>()); // Act var response = serviceUnderTest.GetCustomersTokenDetails(); // Assert Assert.AreEqual(expected.Count(), response.Count()); Assert.AreEqual(expected[0].Counter, response.ToList()[0].Counter); Assert.AreEqual(expected[0].EstimatedWaitingTime, response.ToList()[0].EstimatedWaitingTime); Assert.AreEqual(expected[0].TokenNumber, response.ToList()[0].TokenNumber); Assert.AreEqual(expected[1].Counter, response.ToList()[1].Counter); Assert.AreEqual(expected[1].EstimatedWaitingTime, response.ToList()[1].EstimatedWaitingTime); Assert.AreEqual(expected[1].TokenNumber, response.ToList()[1].TokenNumber); }