You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.2 KiB
38 lines
1.2 KiB
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); |
|
} |
|
} |
|
}
|
|
|