diff --git a/src/AzureIoTHub.Portal.Server.Tests.Unit/Services/DeviceLayoutServiceTests.cs b/src/AzureIoTHub.Portal.Server.Tests.Unit/Services/DeviceLayoutServiceTests.cs index 962e48ada..b70e96114 100644 --- a/src/AzureIoTHub.Portal.Server.Tests.Unit/Services/DeviceLayoutServiceTests.cs +++ b/src/AzureIoTHub.Portal.Server.Tests.Unit/Services/DeviceLayoutServiceTests.cs @@ -10,6 +10,7 @@ namespace AzureIoTHub.Portal.Server.Tests.Unit.Services using FluentAssertions; using Microsoft.Extensions.DependencyInjection; using Models.v10; + using Models.v10.LoRaWAN; using NUnit.Framework; [TestFixture] @@ -63,6 +64,30 @@ public void DuplicateSharedDeviceShouldReturnDuplicatedDevice() _ = result.DeviceName.Should().Be($"{deviceName} - copy"); } + [Test] + public void DuplicateSharedDeviceShouldReturnDuplicatedLoraWanDevice() + { + // Arrange + var deviceId = Fixture.Create(); + var deviceName = Fixture.Create(); + var appKey = Fixture.Create(); + + // Act + var result = this.deviceLayoutService.DuplicateSharedDevice(new LoRaDeviceDetails + { + DeviceID = deviceId, + DeviceName = deviceName, + AppKey = appKey + }); + + // Assert + var loraWanDevice = (LoRaDeviceDetails) result; + + _ = loraWanDevice.DeviceID.Should().BeEmpty(); + _ = loraWanDevice.DeviceName.Should().Be($"{deviceName} - copy"); + _ = loraWanDevice.AppKey.Should().BeEmpty(); + } + [Test] public void DuplicateSharedDeviceModelShouldReturnDuplicatedDeviceModel() { @@ -89,6 +114,26 @@ public void ResetSharedDeviceShouldReturnNewDevice() _ = result.Should().BeEquivalentTo(expectedDevice); } + [Test] + public void ResetSharedDeviceShouldReturnNewDeviceWithExpectedTags() + { + // Arrange + var expectedTags = Fixture.CreateMany(2).ToList(); + + var expectedDevice = new DeviceDetails(); + + foreach (var tag in expectedTags) + { + _ = expectedDevice.Tags.TryAdd(tag.Name, string.Empty); + } + + // Act + var result = this.deviceLayoutService.ResetSharedDevice(expectedTags); + + // Assert + _ = result.Should().BeEquivalentTo(expectedDevice); + } + [Test] public void ResetSharedDeviceModelShouldReturnNewDeviceModel() { diff --git a/src/AzureIoTHub.Portal/Client/Services/DeviceLayoutService.cs b/src/AzureIoTHub.Portal/Client/Services/DeviceLayoutService.cs index 6ba6d6431..698e79d62 100644 --- a/src/AzureIoTHub.Portal/Client/Services/DeviceLayoutService.cs +++ b/src/AzureIoTHub.Portal/Client/Services/DeviceLayoutService.cs @@ -54,7 +54,7 @@ public DeviceDetails DuplicateSharedDevice(DeviceDetails deviceToDuplicate) deviceToDuplicate.DeviceID = string.Empty; deviceToDuplicate.DeviceName = $"{deviceToDuplicate.DeviceName} - copy"; - if (this.sharedDevice.IsLoraWan) + if (deviceToDuplicate.IsLoraWan) { var loRaDeviceDetails = (LoRaDeviceDetails)deviceToDuplicate; loRaDeviceDetails.AppKey = string.Empty;