mirror of
https://github.com/bitwarden/server.git
synced 2024-12-04 14:13:28 +01:00
39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using Bit.Core.Models.Table;
|
|
using Bit.Core.Repositories;
|
|
using Bit.Core.Services;
|
|
using NSubstitute;
|
|
using Xunit;
|
|
|
|
namespace Bit.Core.Test.Services
|
|
{
|
|
public class DeviceServiceTests
|
|
{
|
|
[Fact]
|
|
public async Task DeviceSaveShouldUpdateRevisionDateAndPushRegistration()
|
|
{
|
|
var deviceRepo = Substitute.For<IDeviceRepository>();
|
|
var pushRepo = Substitute.For<IPushRegistrationService>();
|
|
var deviceService = new DeviceService(deviceRepo, pushRepo);
|
|
|
|
var id = Guid.NewGuid();
|
|
var userId = Guid.NewGuid();
|
|
var device = new Device
|
|
{
|
|
Id = id,
|
|
Name = "test device",
|
|
Type = Enums.DeviceType.Android,
|
|
UserId = userId,
|
|
PushToken = "testtoken",
|
|
Identifier = "testid"
|
|
};
|
|
await deviceService.SaveAsync(device);
|
|
|
|
Assert.True(device.RevisionDate - DateTime.UtcNow < TimeSpan.FromSeconds(1));
|
|
await pushRepo.Received().CreateOrUpdateRegistrationAsync("testtoken", id.ToString(),
|
|
userId.ToString(), "testid", Enums.DeviceType.Android);
|
|
}
|
|
}
|
|
}
|