Social bar (Branch B): global resource with per-scene presence — Models/Socials.cs (19 services, icons, canonical URLs), Services/SocialValidator.cs (HTTP lookup validation seam), LayoutStore schema v7 (Socials + SocialEntry tables + Scene.HasSocialBar), MainViewModel (socials collection, AddSocial/RemoveSocial/ToggleSceneSocialBar commands, freemium cap YT+1, premium seam), MainWindow.xaml (footer Social button + [+/-] toggle on meter line, preview bar rendering top/bottom + LCR), 4 integration tests (roundtrip, empty-not-persisted, canonical URLs, icons), 85 tests passing, 0 warnings
This commit is contained in:
@@ -30,14 +30,14 @@ public class LayoutStorePersistenceTests
|
||||
Width = 480,
|
||||
Height = 270,
|
||||
});
|
||||
store.Save(new[] { scene }, webcam);
|
||||
store.Save(new[] { scene }, webcam, null);
|
||||
|
||||
var reloaded = store.Load();
|
||||
var config = Assert.Single(reloaded[0].Elements);
|
||||
Assert.IsType<WebcamSceneConfig>(config);
|
||||
|
||||
reloaded[0].Elements.RemoveAt(0);
|
||||
store.Save(reloaded, store.Webcam);
|
||||
store.Save(reloaded, store.Webcam, null);
|
||||
|
||||
var afterDelete = store.Load();
|
||||
Assert.Empty(afterDelete[0].Elements);
|
||||
@@ -74,7 +74,7 @@ public class LayoutStorePersistenceTests
|
||||
};
|
||||
var scene = new Scene { Name = "Starting" };
|
||||
scene.Elements.Add(backdrop);
|
||||
store.Save(new[] { scene }, null);
|
||||
store.Save(new[] { scene }, null, null);
|
||||
|
||||
var reloaded = store.Load();
|
||||
var restored = Assert.IsType<Source>(Assert.Single(reloaded[0].Elements));
|
||||
@@ -102,7 +102,7 @@ public class LayoutStorePersistenceTests
|
||||
using var store = new LayoutStore(path);
|
||||
var on = new Scene { Name = "Live", HasBackdrop = true };
|
||||
var off = new Scene { Name = "Ending", HasBackdrop = false };
|
||||
store.Save(new[] { on, off }, null);
|
||||
store.Save(new[] { on, off }, null, null);
|
||||
|
||||
var reloaded = store.Load();
|
||||
|
||||
@@ -216,7 +216,7 @@ public class LayoutStorePersistenceTests
|
||||
RectWidth = 480,
|
||||
RectHeight = 270,
|
||||
});
|
||||
store.Save(new[] { scene }, webcam);
|
||||
store.Save(new[] { scene }, webcam, null);
|
||||
|
||||
var reloaded = store.Load();
|
||||
var config = Assert.IsType<WebcamSceneConfig>(Assert.Single(reloaded[0].Elements));
|
||||
|
||||
Reference in New Issue
Block a user