feat(sms): complete SmsConfig bundle export/import wiring + GetSmsConfigurationByIdAsync (S10b)
This commit is contained in:
@@ -2,6 +2,7 @@ using NSubstitute;
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Entities.ExternalSystems;
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Entities.InboundApi;
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Entities.Instances;
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Entities.Notifications;
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Entities.Scripts;
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Entities.Sites;
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Entities.Templates;
|
||||
@@ -64,6 +65,17 @@ public sealed class DependencyResolverTests
|
||||
SiteIds: siteIds ?? Array.Empty<int>(),
|
||||
InstanceIds: instanceIds);
|
||||
|
||||
private static ExportSelection SelectSmsConfigs(params int[] ids) => new(
|
||||
TemplateIds: Array.Empty<int>(),
|
||||
SharedScriptIds: Array.Empty<int>(),
|
||||
ExternalSystemIds: Array.Empty<int>(),
|
||||
DatabaseConnectionIds: Array.Empty<int>(),
|
||||
NotificationListIds: Array.Empty<int>(),
|
||||
SmtpConfigurationIds: Array.Empty<int>(),
|
||||
ApiMethodIds: Array.Empty<int>(),
|
||||
IncludeDependencies: true,
|
||||
SmsConfigurationIds: ids);
|
||||
|
||||
private void StubTemplate(Template t)
|
||||
{
|
||||
_templates.GetTemplateWithChildrenAsync(t.Id, Arg.Any<CancellationToken>()).Returns(t);
|
||||
@@ -194,6 +206,26 @@ public sealed class DependencyResolverTests
|
||||
Assert.Equal("Validator", result.SharedScripts[0].Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Resolve_includes_selected_sms_configs()
|
||||
{
|
||||
// Mirrors the SMTP/by-id seed path: a selected SMS config id resolves via
|
||||
// GetSmsConfigurationByIdAsync into ResolvedExport.SmsConfigs, and a manifest
|
||||
// row (keyed by AccountSid) is emitted alongside it.
|
||||
var sms = new SmsConfiguration("AC_test_sid", "+15551230000") { Id = 7 };
|
||||
_notifications.GetSmsConfigurationByIdAsync(7, Arg.Any<CancellationToken>()).Returns(sms);
|
||||
StubAllSharedScripts();
|
||||
StubAllExternalSystems();
|
||||
StubAllFolders();
|
||||
|
||||
var result = await Sut().ResolveAsync(SelectSmsConfigs(7), CancellationToken.None);
|
||||
|
||||
Assert.Single(result.SmsConfigs);
|
||||
Assert.Equal("AC_test_sid", result.SmsConfigs[0].AccountSid);
|
||||
Assert.Contains(result.ContentManifest,
|
||||
e => e.Type == "SmsConfiguration" && e.Name == "AC_test_sid");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Resolve_handles_diamond_dependency_without_duplication()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user