public UnitOfWork(FileSystemDbContext context) { FileRepository = new BaseRepository <File>(context); FoldersRepository = new BaseRepository <Folder>(context); AccountRepository = new BaseRepository <ApplicationUser>(context); _context = context; }
public async Task GetCorrectlyOrderedCollection_ForAllEntityFieldsAscendingExceptFileName() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(_listOfFilesAllFieldsDescending); try { using (var context = new FileSystemDbContext(options)) { var queryResult = context.Files.AsNoTracking(); queryResult = queryResult.ApplySort( new List <string>() { nameof(FileTestClass.FileName) + " desc", nameof(FileTestClass.FileType), nameof(FileTestClass.FileSizeInKb), nameof(FileTestClass.FileCreatedOnDate), nameof(FileTestClass.Id) }); var orderFileTestClassesCollection = queryResult.ToList(); Assert.That(orderFileTestClassesCollection, Is.Ordered.By(nameof(FileTestClass.FileName)).Descending .Then.By(nameof(FileTestClass.FileType)).Ascending .Then.By(nameof(FileTestClass.FileSizeInKb)).Ascending .Then.By(nameof(FileTestClass.FileCreatedOnDate)).Ascending .Then.By(nameof(FileTestClass.Id)).Ascending); } } finally { connection.Close(); } }
public async Task <(SqliteConnection, DbContextOptions <FileSystemDbContext>)> CreateUniqueMockDbConnectionForThisTest(List <FileTestClass> liftOfFiles) { SqliteConnection connection = null; DbContextOptions <FileSystemDbContext> options = null; await Task.Run(() => { connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); options = new DbContextOptionsBuilder <FileSystemDbContext>() .UseSqlite(connection) .Options; // CreateAsync the schema in the database using (var context = new FileSystemDbContext(options)) { context.Database.EnsureCreated(); context.AddRange(liftOfFiles); context.SaveChanges(); } }); return(connection, options); }
public UnitOfWork( IFileRepository fileRepository, IFolderRepository folderRepository, FileSystemDbContext dbContext ) { this.fileRepository = fileRepository; this.folderRepository = folderRepository; this.db = dbContext; }
public async Task GetCorrectlyOrderedCollection_ForAllEntityFieldsAscending() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(_listOfFilesAllFieldsDescending); try { using (var context = new FileSystemDbContext(options)) { var queryResult = context.Files.AsNoTracking(); queryResult = queryResult.ApplySort( new List <string>() { nameof(FileTestClass.FileName), nameof(FileTestClass.FileType), nameof(FileTestClass.FileSizeInKb), nameof(FileTestClass.FileCreatedOnDate), nameof(FileTestClass.Id) }); var orderFileTestClassesCollection = queryResult.ToList(); var stringBUilder = new StringBuilder(); foreach (var entity in orderFileTestClassesCollection) { stringBUilder.Append(entity.FileName); stringBUilder.Append(", "); stringBUilder.Append(entity.FileType); stringBUilder.Append(", "); stringBUilder.Append(entity.FileSizeInKb); stringBUilder.Append(", "); stringBUilder.Append(entity.FileCreatedOnDate); stringBUilder.Append(", "); stringBUilder.Append(entity.Id); stringBUilder.Append(Environment.NewLine); } var concString = stringBUilder.ToString(); Console.WriteLine(concString); Assert.That(orderFileTestClassesCollection, Is.Ordered.By(nameof(FileTestClass.FileName)).Ascending .Then.By(nameof(FileTestClass.FileType)).Ascending .Then.By(nameof(FileTestClass.FileSizeInKb)).Ascending .Then.By(nameof(FileTestClass.FileCreatedOnDate)).Ascending .Then.By(nameof(FileTestClass.Id)).Ascending); } } finally { connection.Close(); } }
public async Task ReturnCorrectCollection_WhenEntityContainsDoubleKeyAndKeyFieldsAreNeverIgnored() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest( new List <FileTestClass>() { new FileTestClass() { FileName = "TestFileName", FileType = ".docx", FileCreatedOnDate = new DateTime(1989, 1, 11, 14, 00, 00), FileSizeInKb = 1000, } }); try { using (var context = new FileSystemDbContext(options)) { await Task.Run(() => { var query = context.Files.AsNoTracking(); var shapedResult = query.ShapeLinqToEntityQuery <FileTestClass, int, FileSystemDbContext>( "FileName, FileType", true, context); var expectedResult = JsonConvert.SerializeObject(new List <FileTestClass>() { new FileTestClass() { Id = 1, FileName = "TestFileName", FileType = ".docx" } }); var actualResult = JsonConvert.SerializeObject(shapedResult); Assert.AreEqual(expectedResult, actualResult); }); } } finally { connection.Close(); } }
public MainWindow() { _settings = new Settings(); InitializeComponent(); this.WindowStyle = WindowStyle.None; this.WindowState = WindowState.Maximized; this.KeyDown += MainWindow_KeyDown; this.MouseDoubleClick += MainWindow_MouseDoubleClick; var path = System.IO.Path.Combine(Environment.CurrentDirectory, "题库"); var context = new FileSystemDbContext(path); _questionBooks = context.QuestionBooks; this.Content = InitCompetitionPage(_questionBooks); }
public async Task AssertMockDataAllFieldsDescending() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(_listOfFilesAllFieldsDescending); try { using (var context = new FileSystemDbContext(options)) { var queryResult = context.Files.ToList(); Assert.GreaterOrEqual(queryResult.Count, 5); } } finally { connection.Close(); } }
public async Task CanMoveFolder() { //Arrange var options = new DbContextOptionsBuilder <FileSystemDbContext>() .UseInMemoryDatabase(databaseName: nameof(CanMoveFolder)) .Options; var folderToMoveId = Guid.NewGuid(); var newParentFolderId = Guid.NewGuid(); var dbContext = new FileSystemDbContext(options); await dbContext.Folders.AddRangeAsync(new FolderEntity { Id = folderToMoveId, Name = "New Folder", Index = "1", ParentFolder = null }, new FolderEntity { Id = newParentFolderId, Name = "New Folder(2)", Index = "2", ParentFolder = null } ); await dbContext.SaveChangesAsync(); var repository = new FileSystemRepository(dbContext); var sut = new FileSystemService(repository); //Action await sut.MoveFolderAsync(folderToMoveId, newParentFolderId); //Assert var movedFolder = await dbContext.Folders.SingleAsync(x => x.Id == folderToMoveId); movedFolder.Index.Should().Be("11"); movedFolder.ParentFolder.Id.Should().Be(newParentFolderId); }
public FileSystemRepository(FileSystemDbContext dbContext) { _dbContext = dbContext; }
public FileRepository(FileSystemDbContext context, IMapper mapper) { _context = context; _mapper = mapper; }
public BaseRepository(FileSystemDbContext context) { _context = context; table = context.Set <T>(); }