Example #1
0
        public void GetFollowerTripsForUserWithOutTripsTest()
        {
            var data = new List <UserModel>
            {
                new UserModel()
                {
                    Id = 1, Token = "aa", Username = "******", Password = "******", Email = "@gmail"
                },
                new UserModel()
                {
                    Id = 2, Token = "aaa", Username = "******", Password = "******", Email = "2@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 = 2, 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 dataFollowers = new List <FollowerModel>
            {
                new FollowerModel()
                {
                    FollowedId = 2, FollowerId = 1, Id = 1
                }
            }.AsQueryable();

            var mockSetFollowers = new Mock <DbSet <FollowerModel> >();

            mockSetFollowers.As <IQueryable <FollowerModel> >().Setup(m => m.Provider).Returns(dataFollowers.Provider);
            mockSetFollowers.As <IQueryable <FollowerModel> >().Setup(m => m.Expression).Returns(dataFollowers.Expression);
            mockSetFollowers.As <IQueryable <FollowerModel> >().Setup(m => m.ElementType).Returns(dataFollowers.ElementType);
            mockSetFollowers.As <IQueryable <FollowerModel> >().Setup(m => m.GetEnumerator()).Returns(dataFollowers.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);
            mockContext.Setup(x => x.Followers).Returns(mockSetFollowers.Object);

            var service = new TripController(mockContext.Object);

            var _ = service.GetFollowerTrips("aa");

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