public void WhenItemExists_ThenThrowsArgumentException()
        {
            var storage  = new ReminderItemStorage();
            var reminder = new ReminderItem[] { new ReminderItem(Guid.NewGuid()
                                                                 , "Test1"
                                                                 , "Reminder1"
                                                                 , DateTimeOffset.UtcNow
                                                                 , "UserName") };

            storage.Add(reminder);
            foreach (var items in reminder)
            {
                var exeption = Assert.Catch <ArgumentException>(() => storage.Add(reminder));
                Assert.IsTrue(exeption.Message.Contains(items.Title));
                Assert.IsTrue(exeption.Message.Contains(items.Id.ToString()));
            }
        }
        public void WhenItemIsNull_ThenThrowsArgumentNullException()
        {
            var storage = new ReminderItemStorage();

            Assert.Catch <ArgumentNullException>(() =>
                                                 storage.Add(null)
                                                 );
        }
        public void WhenItemExists_ThenThrowsArgumentException()
        {
            var storage = new ReminderItemStorage();
            var item    = new ReminderItem(
                Guid.NewGuid(),
                "Header",
                "Message",
                DateTimeOffset.Now,
                "UserId");

            storage.Add(item);

            var exception = Assert.Catch <ArgumentException>(() =>
                                                             storage.Add(item)
                                                             );

            Assert.IsTrue(exception.Message.Contains(item.Title));
        }
        public void WhenItemExists_ThenThrowsArgumentException()
        {
            var item    = CreateReminderItem();
            var storage = new ReminderItemStorage(item);

            var exception = Assert.Catch <ArgumentException>(() =>
                                                             storage.Add(item)
                                                             );

            Assert.IsTrue(exception.Message.Contains(item.Title));
        }
        public void WhenItemNotExists_ThenCanFindById()
        {
            var storage = new ReminderItemStorage();
            var item    = CreateReminderItem();

            storage.Add(item);
            var result = storage.Find(item.Id);

            Assert.NotNull(result);
            Assert.AreEqual(item.Id, result.Id);
            Assert.AreEqual(item.Message, result.Message);
        }
Example #6
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 #7
0
        static void Main()
        {
            var storage = new ReminderItemStorage();

            storage.Add(
                new ReminderItem(Guid.NewGuid(), "header", "message one", DateTimeOffset.Now.AddSeconds(20), "Artem"));
            storage.Add(
                new ReminderItem(Guid.NewGuid(), "header", "message two", DateTimeOffset.Now.AddMinutes(-1), "Artem"));
            storage.Add(
                new ReminderItem(Guid.NewGuid(), "header", "message three", DateTimeOffset.Now.AddMinutes(1), "Artem"));

            using var scheduler = new ReminderScheduler(
                      storage,
                      new ReminderSchedulerSettings(
                          readyTimerInterval: TimeSpan.FromSeconds(3),
                          sendTimerInterval: TimeSpan.FromSeconds(5))
                      );
            scheduler.ReminderSent += (sender, args) =>
                                      Console.WriteLine($"Reminder for: {args.DateTime} with message: {args.Message}");
            scheduler.Run();

            Console.WriteLine("Scheduler working");
            Console.ReadKey();
        }
Example #8
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);
        }
        public void WhenItemNotExist_ThenCanFindById()
        {
            var storage = new ReminderItemStorage();
            var item    = new ReminderItem(
                Guid.NewGuid(),
                "Header",
                "Message",
                DateTimeOffset.Now,
                "UserID");

            storage.Add(null);
            var result = storage.Find(item.Id);

            Assert.NotNull(result);
            Assert.AreEqual(item.Id, result.Id);
            Assert.AreEqual(item.Massege, result.Massege);
        }
Example #10
0
        public void Test1()
        {
            var factory = new WebApplicationFactory <Startup>();
            var storage = new ReminderItemStorage(factory.CreateClient());
            var items   = new ReminderItem[] { new ReminderItem(
                                                   Guid.NewGuid()
                                                   , "Title"
                                                   , "Message"
                                                   , DateTimeOffset.UtcNow
                                                   , "Users"
                                                   ) };

            storage.Add(items);
            foreach (var item in items)
            {
                var result = storage.Find(item.Id);
                Assert.AreEqual(item.Message, result.Message);
            }
        }
 public void WhenItemIsNull_ThenThrowsArgumentNullException()
 {
     Assert.Catch <ArgumentNullException>(() =>
                                          storage.Add(null)
                                          );
 }
Example #12
0
        public void Test1()
        {
            var storage = new ReminderItemStorage();

            storage.Add(null);
        }