mirror of
https://github.com/freedbygrace/WindowsNotifications.git
synced 2026-08-07 17:53:12 +00:00
Add PowerShell cmdlets and update project structure
This commit is contained in:
@@ -8,82 +8,84 @@ namespace WindowsNotifications.Tests
|
||||
public class NotificationResultTests
|
||||
{
|
||||
[Test]
|
||||
public void Constructor_SetsNotificationId()
|
||||
public void NotificationResult_DefaultValues_AreCorrect()
|
||||
{
|
||||
// Arrange
|
||||
string notificationId = "test-id";
|
||||
|
||||
// Act
|
||||
var result = new NotificationResult(notificationId);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(notificationId, result.NotificationId);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Constructor_SetsDefaultValues()
|
||||
{
|
||||
// Arrange
|
||||
string notificationId = "test-id";
|
||||
|
||||
// Act
|
||||
var result = new NotificationResult(notificationId);
|
||||
// Arrange & Act
|
||||
var result = new NotificationResult();
|
||||
|
||||
// Assert
|
||||
Assert.IsNull(result.NotificationId);
|
||||
Assert.IsFalse(result.Displayed);
|
||||
Assert.IsFalse(result.Activated);
|
||||
Assert.IsFalse(result.Dismissed);
|
||||
Assert.IsNull(result.ClickedButtonId);
|
||||
Assert.IsNull(result.ClickedButtonText);
|
||||
Assert.IsNull(result.ClickedButtonArgument);
|
||||
Assert.IsNull(result.ErrorMessage);
|
||||
Assert.IsTrue((DateTime.Now - result.CreatedTime).TotalSeconds < 1);
|
||||
Assert.IsNull(result.InteractionTime);
|
||||
// CreatedTime should be close to now
|
||||
Assert.Less((DateTime.Now - result.CreatedTime).TotalSeconds, 5);
|
||||
Assert.IsNull(result.ErrorMessage);
|
||||
Assert.IsNull(result.ErrorCode);
|
||||
Assert.IsFalse(result.Deferred);
|
||||
Assert.IsNull(result.DeferredUntil);
|
||||
Assert.IsNull(result.DeferralReason);
|
||||
Assert.IsNull(result.DismissalReason);
|
||||
Assert.IsNull(result.SystemAction);
|
||||
Assert.IsFalse(result.DeadlineReached);
|
||||
Assert.IsNull(result.DeadlineReachedTime);
|
||||
Assert.IsNull(result.DeadlineAction);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Error_CreatesErrorResult()
|
||||
public void NotificationResult_SetProperties_ValuesAreCorrect()
|
||||
{
|
||||
// Arrange
|
||||
string notificationId = "test-id";
|
||||
string errorMessage = "Test error message";
|
||||
|
||||
// Act
|
||||
var result = NotificationResult.Error(notificationId, errorMessage);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(notificationId, result.NotificationId);
|
||||
Assert.AreEqual(errorMessage, result.ErrorMessage);
|
||||
Assert.IsFalse(result.Displayed);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Properties_CanBeSet()
|
||||
{
|
||||
// Arrange
|
||||
var result = new NotificationResult("test-id");
|
||||
DateTime interactionTime = DateTime.Now;
|
||||
var result = new NotificationResult();
|
||||
var createdTime = DateTime.Now.AddMinutes(-5);
|
||||
var interactionTime = DateTime.Now.AddMinutes(-2);
|
||||
var deferredUntil = DateTime.Now.AddHours(1);
|
||||
var deadlineReachedTime = DateTime.Now.AddMinutes(-1);
|
||||
|
||||
// Act
|
||||
result.NotificationId = "test-id";
|
||||
result.Displayed = true;
|
||||
result.Activated = true;
|
||||
result.Dismissed = true;
|
||||
result.ClickedButtonId = "button-id";
|
||||
result.ClickedButtonText = "Button Text";
|
||||
result.ClickedButtonArgument = "button-arg";
|
||||
result.ErrorMessage = "Error message";
|
||||
result.ClickedButtonId = "button1";
|
||||
result.ClickedButtonText = "OK";
|
||||
result.ClickedButtonArgument = "ok";
|
||||
result.CreatedTime = createdTime;
|
||||
result.InteractionTime = interactionTime;
|
||||
result.ErrorMessage = "Test error";
|
||||
result.ErrorCode = "E001";
|
||||
result.Deferred = true;
|
||||
result.DeferredUntil = deferredUntil;
|
||||
result.DeferralReason = "User requested";
|
||||
result.DismissalReason = "User dismissed";
|
||||
result.SystemAction = "snooze";
|
||||
result.DeadlineReached = true;
|
||||
result.DeadlineReachedTime = deadlineReachedTime;
|
||||
result.DeadlineAction = "restart";
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual("test-id", result.NotificationId);
|
||||
Assert.IsTrue(result.Displayed);
|
||||
Assert.IsTrue(result.Activated);
|
||||
Assert.IsTrue(result.Dismissed);
|
||||
Assert.AreEqual("button-id", result.ClickedButtonId);
|
||||
Assert.AreEqual("Button Text", result.ClickedButtonText);
|
||||
Assert.AreEqual("button-arg", result.ClickedButtonArgument);
|
||||
Assert.AreEqual("Error message", result.ErrorMessage);
|
||||
Assert.AreEqual("button1", result.ClickedButtonId);
|
||||
Assert.AreEqual("OK", result.ClickedButtonText);
|
||||
Assert.AreEqual("ok", result.ClickedButtonArgument);
|
||||
Assert.AreEqual(createdTime, result.CreatedTime);
|
||||
Assert.AreEqual(interactionTime, result.InteractionTime);
|
||||
Assert.AreEqual("Test error", result.ErrorMessage);
|
||||
Assert.AreEqual("E001", result.ErrorCode);
|
||||
Assert.IsTrue(result.Deferred);
|
||||
Assert.AreEqual(deferredUntil, result.DeferredUntil);
|
||||
Assert.AreEqual("User requested", result.DeferralReason);
|
||||
Assert.AreEqual("User dismissed", result.DismissalReason);
|
||||
Assert.AreEqual("snooze", result.SystemAction);
|
||||
Assert.IsTrue(result.DeadlineReached);
|
||||
Assert.AreEqual(deadlineReachedTime, result.DeadlineReachedTime);
|
||||
Assert.AreEqual("restart", result.DeadlineAction);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user