Skip to content

Commit 14693ef

Browse files
committed
feat: simplify Early Access update check and add unit test
1 parent bef42b5 commit 14693ef

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

StabilityMatrix.Core/Services/ModelIndexService.cs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -720,18 +720,6 @@ private static bool GetHasEarlyAccessUpdateOnly(LocalModelFile model, CivitModel
720720
if (installedIndex <= 0)
721721
return false;
722722

723-
var hasEarlyAccess = false;
724-
for (var i = 0; i < installedIndex; i++)
725-
{
726-
if (versions[i].IsEarlyAccess)
727-
{
728-
hasEarlyAccess = true;
729-
continue;
730-
}
731-
732-
return false;
733-
}
734-
735-
return hasEarlyAccess;
723+
return versions.Take(installedIndex).All(version => version.IsEarlyAccess);
736724
}
737725
}

StabilityMatrix.Tests/Core/ModelIndexServiceTests.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,21 @@ public void GetHasEarlyAccessUpdateOnly_ReturnsFalse_WhenModelHasNoUpdate()
6868
Assert.IsFalse(result);
6969
}
7070

71+
[TestMethod]
72+
public void GetHasEarlyAccessUpdateOnly_ReturnsFalse_WhenInstalledVersionIsNotInRemoteList()
73+
{
74+
var model = CreateLocalModel(installedVersionId: 100, hasUpdate: true);
75+
var remoteModel = CreateRemoteModel(
76+
CreateVersion(id: 300, isEarlyAccess: true),
77+
CreateVersion(id: 200, isEarlyAccess: true),
78+
CreateVersion(id: 150, isEarlyAccess: false)
79+
);
80+
81+
var result = InvokeGetHasEarlyAccessUpdateOnly(model, remoteModel);
82+
83+
Assert.IsFalse(result);
84+
}
85+
7186
private static bool InvokeGetHasEarlyAccessUpdateOnly(LocalModelFile model, CivitModel? remoteModel)
7287
{
7388
var method = typeof(ModelIndexService).GetMethod(

0 commit comments

Comments
 (0)