Beispiel #1
0
        public void GetTripsWithWrongUserTest()
        {
            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 dataTrips = new List <TripModel>
            {
                new TripModel()
                {
                    Id = 1, TripName = "trip1", TimestampTo = DateTime.Now, TimestampFrom = DateTime.Now, UserId = 1
                }
            }.AsQueryable();

            var mockSetTrips = new Mock <DbSet <TripModel> >();

            mockSetTrips.As <IQueryable <TripModel> >().Setup(m => m.Provider).Returns(dataTrips.Provider);
            mockSetTrips.As <IQueryable <TripModel> >().Setup(m => m.Expression).Returns(dataTrips.Expression);
            mockSetTrips.As <IQueryable <TripModel> >().Setup(m => m.ElementType).Returns(dataTrips.ElementType);
            mockSetTrips.As <IQueryable <TripModel> >().Setup(m => m.GetEnumerator()).Returns(dataTrips.GetEnumerator());

            var options = new DbContextOptionsBuilder <MyDbContext>()
                          .Options;

            var mockContext = new Mock <MyDbContext>(options);

            mockContext.Setup(x => x.Users).Returns(mockSet.Object);
            mockContext.Setup(x => x.Trips).Returns(mockSetTrips.Object);

            var service = new TripController(mockContext.Object);

            var _ = service.GetTrips(2);

            Assert.IsNull(_.Result.Value);
        }