Beispiel #1
0
        public async Task SaveQueryAsync_saves_query()
        {
            // Arrange
            var db = Guid.NewGuid().ToString();

            InitializeDatabse(db);
            var settingsMoq = new Mock <ISejilSettings>();

            settingsMoq.SetupGet(p => p.SqliteDbPath).Returns(db);
            var repository = new SejilRepository(new SejilSqlProvider(settingsMoq.Object), settingsMoq.Object);

            var logQuery = new LogQuery
            {
                Id    = 1,
                Name  = "Test",
                Query = "q"
            };

            // Act
            var result = await repository.SaveQueryAsync(logQuery);

            // Assert
            Assert.True(result);
            var savedQueries = await repository.GetSavedQueriesAsync();

            Assert.Single(savedQueries);
            Assert.Equal(1, savedQueries.First().Id);
            Assert.Equal("Test", savedQueries.First().Name);
            Assert.Equal("q", savedQueries.First().Query);
        }
Beispiel #2
0
        public async Task GetSavedQueriesAsync_returns_saved_queries()
        {
            // Arrange
            var db = Guid.NewGuid().ToString();

            InitializeDatabse(db);
            var settingsMoq = new Mock <ISejilSettings>();

            settingsMoq.SetupGet(p => p.SqliteDbPath).Returns(db);
            var repository = new SejilRepository(new SejilSqlProvider(settingsMoq.Object), settingsMoq.Object);
            await repository.SaveQueryAsync(new LogQuery { Name = "Test1", Query = "q1" });

            await repository.SaveQueryAsync(new LogQuery { Name = "Test2", Query = "q2" });

            // Act
            var queries = await repository.GetSavedQueriesAsync();

            // Assert
            Assert.Equal(2, queries.Count());
            Assert.Equal(1, queries.First().Id);
            Assert.Equal("Test1", queries.First().Name);
            Assert.Equal("q1", queries.First().Query);
            Assert.Equal(2, queries.Skip(1).First().Id);
            Assert.Equal("Test2", queries.Skip(1).First().Name);
            Assert.Equal("q2", queries.Skip(1).First().Query);
        }
Beispiel #3
0
        public async Task DeleteQueryAsync_deletes_specified_query()
        {
            // Arrange
            var db = Guid.NewGuid().ToString();

            InitializeDatabse(db);
            var settingsMoq = new Mock <ISejilSettings>();

            settingsMoq.SetupGet(p => p.SqliteDbPath).Returns(db);
            var repository = new SejilRepository(new SejilSqlProvider(settingsMoq.Object), settingsMoq.Object);
            await repository.SaveQueryAsync(new LogQuery { Name = "Test1", Query = "q1" });

            // Act
            var result = await repository.DeleteQueryAsync("Test1");

            // Assert
            Assert.True(result);
            var queries = await repository.GetSavedQueriesAsync();

            Assert.Empty(queries);
        }
Beispiel #4
0
        public async Task DeleteQueryAsync_returns_false_when_specified_query_does_not_exist()
        {
            // Arrange
            var db = Guid.NewGuid().ToString();

            InitializeDatabse(db);
            var settingsMoq = new Mock <ISejilSettings>();

            settingsMoq.SetupGet(p => p.ConnectionString).Returns(db);
            var repository = new SejilRepository(new SejilSqlProvider(settingsMoq.Object), settingsMoq.Object);
            await repository.SaveQueryAsync(new LogQuery { Name = "Test1", Query = "q1" });

            // Act
            var result = await repository.DeleteQueryAsync("Test2");

            // Assert
            Assert.False(result);
            var queries = await repository.GetSavedQueriesAsync();

            Assert.Single(queries);
        }