예제 #1
0
        public async Task StatusCanBeRemoved()
        {
            // Arrange
            using (var con = OpenConnection())
                using (var cache = new SqliteCache(con))
                {
                    using (var cmd = con.CreateCommand())
                    {
                        cmd.CommandText = "INSERT INTO Statuses (Id, UserId, StatusData) VALUES (123, 111, 'test');";
                        cmd.ExecuteNonQuery();
                    }

                    // Act
                    await cache.RemoveStatus(123);

                    // Assert
                    using (var cmd = con.CreateCommand())
                    {
                        cmd.CommandText = "SELECT Id FROM Statuses WHERE Id = 123;";
                        var fromDb = cmd.ExecuteScalar();

                        Assert.IsNull(fromDb);
                    }
                }
        }
예제 #2
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);
                }
        }