mirror of
https://github.com/bitwarden/server
synced 2025-12-24 20:23:21 +00:00
Sync notification push type is now used for both Notification create and update. Renamed the event types to specifically mention the purpose of status for notification status updates.
80 lines
3.0 KiB
C#
80 lines
3.0 KiB
C#
#nullable enable
|
|
using Bit.Core.Enums;
|
|
using Bit.Core.NotificationCenter.Entities;
|
|
using Bit.Core.Services;
|
|
using Bit.Core.Test.NotificationCenter.AutoFixture;
|
|
using Bit.Test.Common.AutoFixture;
|
|
using Bit.Test.Common.AutoFixture.Attributes;
|
|
using NSubstitute;
|
|
using Xunit;
|
|
|
|
namespace Bit.Core.Test.Services;
|
|
|
|
[SutProviderCustomize]
|
|
public class MultiServicePushNotificationServiceTests
|
|
{
|
|
[Theory]
|
|
[BitAutoData]
|
|
[NotificationCustomize]
|
|
public async Task PushSyncNotificationAsync_Notification_Sent(
|
|
SutProvider<MultiServicePushNotificationService> sutProvider, Notification notification)
|
|
{
|
|
await sutProvider.Sut.PushSyncNotificationAsync(notification);
|
|
|
|
await sutProvider.GetDependency<IEnumerable<IPushNotificationService>>()
|
|
.First()
|
|
.Received(1)
|
|
.PushSyncNotificationAsync(notification);
|
|
}
|
|
|
|
[Theory]
|
|
[BitAutoData]
|
|
[NotificationCustomize]
|
|
[NotificationStatusCustomize]
|
|
public async Task PushSyncNotificationStatusAsync_Notification_Sent(
|
|
SutProvider<MultiServicePushNotificationService> sutProvider, Notification notification,
|
|
NotificationStatus notificationStatus)
|
|
{
|
|
await sutProvider.Sut.PushSyncNotificationStatusAsync(notification, notificationStatus);
|
|
|
|
await sutProvider.GetDependency<IEnumerable<IPushNotificationService>>()
|
|
.First()
|
|
.Received(1)
|
|
.PushSyncNotificationStatusAsync(notification, notificationStatus);
|
|
}
|
|
|
|
[Theory]
|
|
[BitAutoData([null, null])]
|
|
[BitAutoData(ClientType.All, null)]
|
|
[BitAutoData([null, "test device id"])]
|
|
[BitAutoData(ClientType.All, "test device id")]
|
|
public async Task SendPayloadToUserAsync_Message_Sent(ClientType? clientType, string? deviceId, string userId,
|
|
PushType type, object payload, string identifier, SutProvider<MultiServicePushNotificationService> sutProvider)
|
|
{
|
|
await sutProvider.Sut.SendPayloadToUserAsync(userId, type, payload, identifier, deviceId, clientType);
|
|
|
|
await sutProvider.GetDependency<IEnumerable<IPushNotificationService>>()
|
|
.First()
|
|
.Received(1)
|
|
.SendPayloadToUserAsync(userId, type, payload, identifier, deviceId, clientType);
|
|
}
|
|
|
|
[Theory]
|
|
[BitAutoData([null, null])]
|
|
[BitAutoData(ClientType.All, null)]
|
|
[BitAutoData([null, "test device id"])]
|
|
[BitAutoData(ClientType.All, "test device id")]
|
|
public async Task SendPayloadToOrganizationAsync_Message_Sent(ClientType? clientType, string? deviceId,
|
|
string organizationId, PushType type, object payload, string identifier,
|
|
SutProvider<MultiServicePushNotificationService> sutProvider)
|
|
{
|
|
await sutProvider.Sut.SendPayloadToOrganizationAsync(organizationId, type, payload, identifier, deviceId,
|
|
clientType);
|
|
|
|
await sutProvider.GetDependency<IEnumerable<IPushNotificationService>>()
|
|
.First()
|
|
.Received(1)
|
|
.SendPayloadToOrganizationAsync(organizationId, type, payload, identifier, deviceId, clientType);
|
|
}
|
|
}
|