public void WhenParameters_IfNullSpecified_ShouldThrowException() { var receiver = new ReminderReceiverFake(); Assert.Catch <ArgumentNullException>(() => new ReminderService(Storage, FailedSender, receiver, null)); }
public void WhenItemSent_IfTimeDifferent_ShouldRaiseEvent() { // Arrange var time = new DateTimeOffset(2021, 01, 18, 03, 40, 00, new TimeSpan(+3, 0, 0)); var timeNow = DateTimeOffset.Now; var item = new ReminderItem(Guid.NewGuid(), "ContactId", "Mesage", DateTimeOffset.Now, ReminderItemStatus.Created); var item2 = new ReminderItem(Guid.NewGuid(), "ContactId", "Mesage", time, ReminderItemStatus.Created); var eventRaised = false; var eventRaised2 = false; var receiver = new ReminderReceiverFake(); var service = new ReminderService(new ReminderStorage(item), SuccessSender, receiver, Parameters); var service2 = new ReminderService(new ReminderStorage(item2), SuccessSender, receiver, Parameters); // Act service.ItemSent += (sender, args) => eventRaised = true; if (timeNow > time) { service2.ItemSent += (sender, args) => eventRaised2 = true; } else { service2.ItemSent += (sender, args) => eventRaised2 = false; } service.Start(); service2.Start(); receiver.Emit(); WaitTimers(); // Assert Assert.AreNotEqual(eventRaised, eventRaised2); }
public void WhenItemsSent_IfAddTwoItemsWithDifferentStatus_ShouldRaiseEvent() { // Arrange var item = new ReminderItem(Guid.NewGuid(), "ContactId", "Mesage", DateTimeOffset.Now, ReminderItemStatus.Ready); var item2 = new ReminderItem(Guid.NewGuid(), "ContactId", "Mesage", DateTimeOffset.Now, ReminderItemStatus.Created); var eventRaised = false; var receiver = new ReminderReceiverFake(); var service = new ReminderService(new ReminderStorage(item), SuccessSender, receiver, Parameters); var service2 = new ReminderService(new ReminderStorage(item2), SuccessSender, receiver, Parameters); // Act service.ItemSent += (sender, args) => eventRaised = true; service2.ItemSent += (sender, args) => eventRaised = true; service.Start(); service2.Start(); receiver.Emit(); WaitTimers(); // Assert for (int i = 0; i < 2; i++) { Assert.IsTrue(eventRaised); } }
public void ItemFailed_WhenReminderNotificationFailed_ShouldRaiseEvent() { // Arrange var eventRaised = false; var receiver = new ReminderReceiverFake(); var service = new ReminderService(Storage, FailedSender, receiver, Parameters); // Act service.ItemFailed += (sender, args) => eventRaised = true; service.Start(); receiver.Emit(); WaitTimers(); // Assert Assert.IsTrue(eventRaised); }
public void WhenItemSent_IfAddTwoItemsWithDifferentStatus_ShouldRaiseEvent() { // Arrange var item = new ReminderItem(Guid.NewGuid(), "ContactId", "Mesage", DateTimeOffset.Now, ReminderItemStatus.Sent); var item2 = new ReminderItem(Guid.NewGuid(), "ContactId", "Mesage", DateTimeOffset.Now, ReminderItemStatus.Failed); var eventRaised = false; var eventRaised2 = false; var receiver = new ReminderReceiverFake(); var service = new ReminderService(new ReminderStorage(item), SuccessSender, receiver, Parameters); var service2 = new ReminderService(new ReminderStorage(item2), FailedSender, receiver, Parameters); // Act service.ItemSent += (sender, args) => eventRaised = true; service2.ItemSent += (sender, args) => eventRaised2 = true; service.Start(); service2.Start(); receiver.Emit(); WaitTimers(); // Assert Assert.AreNotEqual(eventRaised, eventRaised2); }