MX.Platform.Notifications.Api.Client.Testing
1.0.86
dotnet add package MX.Platform.Notifications.Api.Client.Testing --version 1.0.86
NuGet\Install-Package MX.Platform.Notifications.Api.Client.Testing -Version 1.0.86
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MX.Platform.Notifications.Api.Client.Testing" Version="1.0.86" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MX.Platform.Notifications.Api.Client.Testing" Version="1.0.86" />
<PackageReference Include="MX.Platform.Notifications.Api.Client.Testing" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MX.Platform.Notifications.Api.Client.Testing --version 1.0.86
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MX.Platform.Notifications.Api.Client.Testing, 1.0.86"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MX.Platform.Notifications.Api.Client.Testing@1.0.86
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MX.Platform.Notifications.Api.Client.Testing&version=1.0.86
#tool nuget:?package=MX.Platform.Notifications.Api.Client.Testing&version=1.0.86
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MX.Platform.Notifications.Api.Client.Testing
Test helpers for consumer apps: in-memory fakes of INotificationsApiClient, DTO factory methods, and DI extensions for integration tests.
Installation
dotnet add package MX.Platform.Notifications.Api.Client.Testing
Unit Tests
Use FakeNotificationsApiClient directly for lightweight unit tests:
var fakeClient = new FakeNotificationsApiClient();
var request = SendEmailRequestDtoFactory.CreateSendEmailRequest(subject: "Welcome!");
await fakeClient.Email.SendEmail(request);
// Assert emails were sent
Assert.Single(fakeClient.EmailApi.SentEmails);
Assert.Equal("Welcome!", fakeClient.EmailApi.SentEmails.First().Subject);
Integration Tests (DI)
Replace real services with fakes in your test DI container:
services.AddFakeNotificationsApiClient();
Or pre-configure responses:
services.AddFakeNotificationsApiClient(client =>
{
client.EmailApi.WithSuccessResponse(new SendEmailResponseDto
{
MessageId = "test-msg-001",
Status = "Succeeded"
});
});
Simulating Failures
Configure the fake to return error responses:
var fakeClient = new FakeNotificationsApiClient();
fakeClient.EmailApi.WithFailure(
statusCode: HttpStatusCode.TooManyRequests,
errorCode: "RATE_LIMITED",
errorMessage: "Too many requests");
var result = await fakeClient.Email.SendEmail(request);
Assert.False(result.IsSuccess);
Assert.Equal(HttpStatusCode.TooManyRequests, result.StatusCode);
Factory Methods
SendEmailRequestDtoFactory provides methods for creating test DTOs with sensible defaults:
// Create a request with defaults (contoso.com, "Test Email" subject, one recipient)
var request = SendEmailRequestDtoFactory.CreateSendEmailRequest();
// Override specific fields
var customRequest = SendEmailRequestDtoFactory.CreateSendEmailRequest(
senderDomain: "myapp.com",
subject: "Password Reset",
htmlBody: "<p>Click here to reset your password.</p>");
// Create recipients
var recipient = SendEmailRequestDtoFactory.CreateRecipient(
emailAddress: "user@example.com",
displayName: "Jane Doe");
// Create response DTOs
var response = SendEmailRequestDtoFactory.CreateSendEmailResponse(
messageId: "msg-123",
status: "Succeeded");
Resetting State Between Tests
fakeClient.Reset(); // Clears SentEmails and resets to default success behavior
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- MX.Api.Abstractions (>= 2.3.81)
- MX.Platform.Notifications.Abstractions.V1 (>= 1.0.86)
- MX.Platform.Notifications.Api.Client.V1 (>= 1.0.86)
-
net9.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- MX.Api.Abstractions (>= 2.3.81)
- MX.Platform.Notifications.Abstractions.V1 (>= 1.0.86)
- MX.Platform.Notifications.Api.Client.V1 (>= 1.0.86)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.86 | 115 | 9/17/2026 |
| 1.0.82 | 90 | 9/16/2026 |
| 1.0.79 | 112 | 9/1/2026 |
| 1.0.77 | 113 | 8/30/2026 |
| 1.0.72 | 234 | 8/3/2026 |
| 1.0.62 | 124 | 6/25/2026 |
| 1.0.60 | 132 | 6/25/2026 |
| 1.0.54 | 125 | 6/22/2026 |
| 1.0.45 | 131 | 6/21/2026 |
| 1.0.30 | 133 | 4/26/2026 |
| 1.0.18 | 137 | 3/10/2026 |
| 1.0.17 | 132 | 3/10/2026 |
| 1.0.7 | 126 | 3/8/2026 |
| 1.0.3 | 126 | 3/7/2026 |