|
1 | 1 | using System.Diagnostics.CodeAnalysis; |
2 | 2 | using System.Runtime.CompilerServices; |
3 | 3 | using System.Text.Json; |
4 | | -using LcmCrdt.Changes; |
5 | 4 | using Microsoft.EntityFrameworkCore; |
6 | 5 | using Microsoft.Extensions.DependencyInjection; |
7 | 6 | using Microsoft.Extensions.Options; |
8 | | -using SIL.Harmony.Changes; |
9 | 7 | using SIL.Harmony.Core; |
10 | 8 | using SIL.Harmony.Db; |
11 | 9 |
|
@@ -116,17 +114,13 @@ public async Task VerifyRegeneratedSnapshotsAfterMigrationFromScriptedDb(Regress |
116 | 114 | await using var dataModel = _helper.Services.GetRequiredService<DataModel>(); |
117 | 115 | var syncable = dataModel as ISyncable; |
118 | 116 |
|
119 | | - // slighty hacky way to regenerate snapshots |
120 | | - // could also use dataModel.RegenerateSnapshots(), but that currently has a connection issue |
121 | | - // and it also doesn't support regenerating from a given point in time |
122 | | - var (noOpCommit, noOpEntityId) = NewNoOpCommit(new HybridDateTime(DateTimeOffset.MinValue, 0)); |
| 117 | + var noOpCommit = FakeCommit.NoOp(new HybridDateTime(DateTimeOffset.MinValue, 0)); |
123 | 118 | await syncable.AddRangeFromSync([noOpCommit]); |
124 | 119 |
|
125 | 120 | var commits = await dbContext.Commits.AsNoTracking().ToArrayAsync(); |
126 | 121 | var commitIdToHybridDateTime = commits.ToDictionary(c => c.Id, c => c.HybridDateTime); |
127 | 122 |
|
128 | 123 | var latestSnapshots = (await dataModel.GetLatestSnapshots() |
129 | | - .Where(s => s.EntityId != noOpEntityId) |
130 | 124 | .ToArrayAsync()) |
131 | 125 | .OrderBy(s => s.TypeName) |
132 | 126 | .ThenBy(s => s.EntityId) |
@@ -166,37 +160,17 @@ await api.GetComplexFormTypes() |
166 | 160 | await api.GetWritingSystems()); |
167 | 161 | } |
168 | 162 |
|
169 | | - private static (Commit Commit, Guid EntityId) NewNoOpCommit(HybridDateTime hybridDate) |
| 163 | + private class FakeCommit : Commit |
170 | 164 | { |
171 | | - var commitId = Guid.NewGuid(); |
172 | | - var entityId = Guid.NewGuid(); |
173 | | - return (new FakeCommit(commitId, hybridDate) |
| 165 | + public static Commit NoOp(HybridDateTime hybridDateTime) |
174 | 166 | { |
175 | | - ClientId = Guid.NewGuid(), |
176 | | - ChangeEntities = [ |
177 | | - new ChangeEntity<IChange>() |
178 | | - { |
179 | | - Index = 0, |
180 | | - CommitId = commitId, |
181 | | - EntityId = entityId, |
182 | | - Change = new CreateEntryChange(new Entry() |
183 | | - { |
184 | | - Id = entityId, |
185 | | - }), |
186 | | - }, |
187 | | - new ChangeEntity<IChange>() |
188 | | - { |
189 | | - Index = 1, |
190 | | - CommitId = commitId, |
191 | | - EntityId = entityId, |
192 | | - Change = new DeleteChange<Entry>(Guid.NewGuid()), |
193 | | - }, |
194 | | - ], |
195 | | - }, entityId); |
196 | | - } |
| 167 | + return new FakeCommit(Guid.NewGuid(), hybridDateTime) |
| 168 | + { |
| 169 | + ClientId = Guid.NewGuid(), |
| 170 | + ChangeEntities = [], |
| 171 | + }; |
| 172 | + } |
197 | 173 |
|
198 | | - private class FakeCommit : Commit |
199 | | - { |
200 | 174 | [SetsRequiredMembers] |
201 | 175 | public FakeCommit(Guid id, HybridDateTime hybridDateTime) : base(id, "", NullParentHash, hybridDateTime) |
202 | 176 | { |
|
0 commit comments