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); }
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; }
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); }