public void WhenCreatedItemsFindByReadyStatus_ShouldReturnEmpty()
        {
            storage.Add(
                new ReminderItem(Guid.NewGuid(), "header", "message one", DateTimeOffset.Now.AddSeconds(-1), "User"));

            var result = storage.FindBy(
                ReminderItemFilter.ByStatus(ReminderItemStatus.Ready));

            Assert.IsEmpty(result);
        }
        public void GivenReadyItems_WhenFindByReadyStatus_ShouldReturnElements()
        {
            var storage = new ReminderItemStorage(
                CreateReminderItem(datetime: DateTimeOffset.UtcNow.AddMinutes(-1), status: ReminderItemStatus.Ready));

            var result = storage.FindBy(
                ReminderItemFilter.ByStatus(ReminderItemStatus.Ready)
                );

            Assert.IsNotEmpty(result);
        }
        public void GivenCreatedItems_WhenFindFromNow_ShouldReturnMatchingElements()
        {
            var storage = new ReminderItemStorage(
                CreateReminderItem(datetime: DateTimeOffset.UtcNow.AddSeconds(20), status: ReminderItemStatus.Created),
                CreateReminderItem(datetime: DateTimeOffset.UtcNow.AddMinutes(-1), status: ReminderItemStatus.Created),
                CreateReminderItem(datetime: DateTimeOffset.UtcNow.AddMinutes(1), status: ReminderItemStatus.Created)
                );

            var result = storage.FindBy(ReminderItemFilter.FromNow());

            Assert.IsNotEmpty(result);
            Assert.AreEqual(1, result.Length);
        }
Example #4
0
        public void GivenCreatedItem_WhenFrindByReadyStatus_ShouldReturnEmpty()
        {
            var storage  = new ReminderItemStorage();
            var Reminder = new[]
            { new ReminderItem(Guid.NewGuid(), "Title1", "Message1", DateTimeOffset.UtcNow, "User_id1"),
              new ReminderItem(Guid.NewGuid(), "Title2", "Message2", DateTimeOffset.UtcNow.AddSeconds(-20), "User_id2"),
              new ReminderItem(Guid.NewGuid(), "Title3", "Message3", DateTimeOffset.UtcNow.AddSeconds(+20), "User_id3") };

            storage.Add(Reminder);
            var result = storage.FindBy(ReminderItemFilter.ByStatus(ReminderItemStatus.Ready));

            Assert.IsEmpty(result);
        }
Example #5
0
        public void GivenCreatedItem_WhenFrindFromNow_ShouldReturnMatchengElements()
        {
            var storage  = new ReminderItemStorage();
            var Reminder = new[]
            { new ReminderItem(Guid.NewGuid(), "Title1", "Message1", DateTimeOffset.UtcNow.AddSeconds(20), "User_id1"),
              new ReminderItem(Guid.NewGuid(), "Title2", "Message2", DateTimeOffset.UtcNow.AddSeconds(-60), "User_id2"),
              new ReminderItem(Guid.NewGuid(), "Title3", "Message3", DateTimeOffset.UtcNow.AddSeconds(+60), "User_id3") };

            storage.Add(Reminder);
            var result = storage.FindBy(ReminderItemFilter.FromNow());

            Assert.IsNotEmpty(result);
            Assert.AreEqual(1, result.Length);
            Assert.AreEqual("Message2", result[0].Message);
        }
Example #6
0
        public void GivenItemWithCreatedStatusAndDatetime_WhenTimersExecutesAndReceiverFailed_ThenStatusChangedToFailed()
        {
            // Arrange
            var storage = new ReminderItemStorage(
                CreateReminderItem(datetime: DateTimeOffset.UtcNow.AddMinutes(-1), status: ReminderItemStatus.Created)
                );

            using var scheduler = CreateScheduler(storage, FailedSender);

            // Act
            scheduler.Run();
            WaitTimers();

            // Assert
            var items = storage.FindBy(
                ReminderItemFilter.ByStatus(ReminderItemStatus.Failed)
                );

            Assert.IsNotEmpty(items);
        }
Example #7
0
        public void test2()
        {
            var reminder = new ReminderItem[] { new ReminderItem(Guid.NewGuid()
                                                                 , "Test1"
                                                                 , "Reminder1"
                                                                 , DateTimeOffset.UtcNow.AddMinutes(-1)
                                                                 , "UserName") };
            var storage = new ReminderItemStorage(reminder);

            using var cheduler = new ReminderScheduler(
                      storage,
                      new ReminderItemReceiver(),
                      new ReminderItemSender(),
                      new ReminderSchedulerSettings(TimeSpan.FromMilliseconds(300),
                                                    TimeSpan.FromMilliseconds(500))
                      );

            cheduler.Run();
            Thread.Sleep(TimeSpan.FromMilliseconds(800));
            var item = storage.FindBy(ReminderItemFilter.ByStatus(ReminderItemStatus.Filed));

            // goto нет sleep
            Assert.IsNotNull(item);
        }