public void PostTripWithPinpointsTest() { var data = new List <UserModel> { new UserModel() { Id = 1, Token = "aa", Username = "******", Password = "******", Email = "@gmail" } }.AsQueryable(); var mockSet = new Mock <DbSet <UserModel> >(); mockSet.As <IQueryable <UserModel> >().Setup(m => m.Provider).Returns(data.Provider); mockSet.As <IQueryable <UserModel> >().Setup(m => m.Expression).Returns(data.Expression); mockSet.As <IQueryable <UserModel> >().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As <IQueryable <UserModel> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var options = new DbContextOptionsBuilder <MyDbContext>() .Options; var mockContext = new Mock <MyDbContext>(options); mockContext.Setup(x => x.Users).Returns(mockSet.Object); mockContext.SetupProperty(x => x.Trips); mockContext.SetupProperty(x => x.PinPoints); var service = new TripController(mockContext.Object); var titudesArray = new Titudes[1]; var a = new Titudes() { Lat = 20, Long = 20 }; titudesArray[0] = a; var model = new ReceivedInfo() { Token = "aa", Name = "test", From = DateTime.Now, To = DateTime.Now, Pinpoints = titudesArray }; var _ = service.PostTripWithPinpoints(model); mockContext.Verify(x => x.Add(It.IsAny <TripModel>()), Times.Once); }