Esempio n. 1
0
        private ApplicationDbContext GetInMemoryDbContext()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          // don't raise the error warning us that the in memory db doesn't support transactions
                          .ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning))
                          .Options;

            InMemoryTestDbContext = new ApplicationDbContext(options);
            GoodsTestData.Initialize(InMemoryTestDbContext);
            UsersTestData.CreateTestUser(InMemoryTestDbContext);
            return(InMemoryTestDbContext);
        }
Esempio n. 2
0
        public UserRepositoryTests()
        {
            IReadOnlyList <User> users = UsersTestData.GetUsersTestData();

            Mock <IUserRepository> mockUserRepo = new Mock <IUserRepository>();

            mockUserRepo.Setup(u => u.GetAllAsync().Result).Returns(users);

            mockUserRepo.Setup(u => u.GetByIdAsync(It.IsAny <int>()).Result)
            .Returns((int i) => users.FirstOrDefault(x => x.Id == i));

            mockUserRepo.Setup(u => u.GetUserByTelegramIdAsync(It.IsAny <int>()).Result)
            .Returns((int telegramId) => users.FirstOrDefault(x => x.TelegramId == telegramId));

            this.mockUserRepo = mockUserRepo.Object;
        }
Esempio n. 3
0
        public ApplicationDbContext GetSqliteInMemoryDbContext()
        {
            // In-memory database only exists while the connection is open
            var connection = new SqliteConnection("DataSource=:memory:");

            connection.Open();
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseSqlite(connection)
                          .Options;

            InMemorySqliteTestDbContext = new ApplicationDbContext(options);
            InMemorySqliteTestDbContext.Database.EnsureCreated();

            GoodsTestData.Initialize(InMemorySqliteTestDbContext);
            UsersTestData.CreateTestUser(InMemorySqliteTestDbContext);

            return(InMemorySqliteTestDbContext);
        }
        public IRepositoryTests()
        {
            List <User> users = UsersTestData.GetUsersTestData();

            mockRepo.Setup(u => u.GetAllAsync().Result).Returns(users);

            mockRepo.Setup(u => u.GetByIdAsync(It.IsAny <int>()).Result)
            .Returns((int i) => users.FirstOrDefault(x => x.Id == i));

            mockRepo.Setup(d => d.DeleteAsync(It.IsAny <User>()));

            mockRepo.Setup(u => u.UpdateAsync(It.IsAny <User>()));

            mockRepo.Setup(a => a.AddAsync(It.IsAny <User>()));

            mockRepo.Setup(u => u.GetAsync(It.IsAny <Expression <Func <User, bool> > >()).Result)
            .Returns((Expression <Func <User, bool> > predicate)
                     => users.AsQueryable().Where(predicate).ToList());

            _mockRepo = mockRepo.Object;
        }
        public void GetUserById()
        {
            var demoDataContext = new Mock <BlogBDContext>();

            // get data simulate on UsersTestData.GetUsersData()
            demoDataContext.Setup(x => x.Users).Returns(UnitTestHelpers.GetQueryableMockDbSet <Users>(UsersTestData.GetUsersData().ToList()));
            demoDataContext.Setup(x => x.Profiles).Returns(UnitTestHelpers.GetQueryableMockDbSet <Profiles>(ProfileTestData.GetProfilesData().ToList()));

            UsersRepository usersRepository = new UsersRepository(demoDataContext.Object);
            var             result          = usersRepository.GetUserById(2);

            Assert.AreEqual("Naruto", result.Username);
        }