public void InsertToList_AddsARecord_WithGivenValues()
        {
            UseConnection(database =>
            {
                Commit(database, x => x.InsertToList("my-key", "my-value"));

                HangfireList record = database.HangfireListRepository.ToList().Single();

                Assert.Equal("my-key", record.Key);
                Assert.Equal("my-value", record.Value);
            });
        }
        public void PersistList_ClearsTheListExpirationData()
        {
            UseConnection(database =>
            {
                var list1 = new HangfireList {
                    Key = "List1", Value = "value1", ExpireAt = DateTime.UtcNow
                };
                database.Database.Insert(list1);

                var list2 = new HangfireList {
                    Key = "List2", Value = "value2", ExpireAt = DateTime.UtcNow
                };
                database.Database.Insert(list2);

                Commit(database, x => x.PersistList(list1.Key));

                var testList1 = GetTestList(database, list1.Key);
                Assert.Equal(DateTime.MinValue, testList1.ExpireAt);

                var testList2 = GetTestList(database, list2.Key);
                Assert.NotEqual(DateTime.MinValue, testList2.ExpireAt);
            });
        }
        public void ExpireList_SetsListExpirationData()
        {
            UseConnection(database =>
            {
                var list1 = new HangfireList {
                    Key = "List1", Value = "value1"
                };
                database.Database.Insert(list1);

                var list2 = new HangfireList {
                    Key = "List2", Value = "value2"
                };
                database.Database.Insert(list2);

                Commit(database, x => x.ExpireList(list1.Key, TimeSpan.FromDays(1)));

                var testList1 = GetTestList(database, list1.Key);
                Assert.True(DateTime.UtcNow.AddMinutes(-1) < testList1.ExpireAt && testList1.ExpireAt <= DateTime.UtcNow.AddDays(1));

                var testList2 = GetTestList(database, list2.Key);
                Assert.Equal(DateTime.MinValue, testList2.ExpireAt);
            });
        }