public async Task StatusesCanBeMappedToColumns() { // Arrange using (var con = OpenConnection()) using (var cache = new SqliteCache(con)) { var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var s1 = new List <Status> { DummyGenerator.CreateDummyStatus(), DummyGenerator.CreateDummyStatus() }; s1[0].StatusID = 1; s1[1].StatusID = 2; var s2 = new List <Status> { DummyGenerator.CreateDummyStatus() }; s2[0].StatusID = 3; // Act await cache.MapStatusesToColumn(s1, id1); await cache.MapStatusesToColumn(s2, id2); // Assert using (var cmd = con.CreateCommand()) { cmd.CommandText = "SELECT StatusId FROM ColumnStatuses WHERE ColumnId=@col ORDER BY StatusId ASC;"; cmd.AddParameter("col", id1); using (var reader = cmd.ExecuteReader()) { Assert.IsTrue(reader.Read()); Assert.AreEqual(1, reader.GetInt32(0)); Assert.IsTrue(reader.Read()); Assert.AreEqual(2, reader.GetInt32(0)); } } using (var cmd = con.CreateCommand()) { cmd.CommandText = "SELECT StatusId FROM ColumnStatuses WHERE ColumnId=@col ORDER BY StatusId ASC;"; cmd.AddParameter("col", id2); using (var reader = cmd.ExecuteReader()) { Assert.IsTrue(reader.Read()); Assert.AreEqual(3, reader.GetInt32(0)); } } } }
public async Task NonExistingStatusIsNotFetchedForColumn() { // Arrange using (var con = OpenConnection()) using (var cache = new SqliteCache(con)) { var status = DummyGenerator.CreateDummyStatus(); status.ID = 123; var colId = Guid.NewGuid(); await cache.AddStatuses(new[] { status }); await cache.MapStatusesToColumn(new[] { status }, colId); // Act var beforeDelete = await cache.GetStatusesForColumn(colId, 1); await cache.RemoveStatus(status.ID); var afterDelete = await cache.GetStatusesForColumn(colId, 1); // Assert Assert.AreEqual(1, beforeDelete.Count); Assert.AreEqual(0, afterDelete.Count); } }
public async Task CleanupRemovesColumnMappings() { // Arrange using (var con = OpenConnection()) using (var cache = new SqliteCache(con)) { var status = DummyGenerator.CreateDummyStatus(); status.ID = 123; var colId = Guid.NewGuid(); await cache.MapStatusesToColumn(new[] { status }, colId); // Act var statuses = await cache.GetStatusesForColumn(colId, 1); // Assert Assert.AreEqual(0, statuses.Count); } }