Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 9657a17

Browse files
Adding tests for this new event
1 parent b9891e9 commit 9657a17

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

src/tests/IntegrationTests/Events/RepositoryManagerTests.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
4242

4343
repositoryManagerListener.DidNotReceive().OnIsBusyChanged(Args.Bool);
4444
repositoryManagerListener.Received().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
45+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
4546
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
4647
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
4748
repositoryManagerListener.DidNotReceive().GitLogUpdated(Args.GitLogs);
@@ -86,6 +87,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
8687

8788
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
8889
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
90+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
8991
repositoryManagerListener.Received().GitStatusUpdated(Args.GitStatus);
9092
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
9193
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -133,6 +135,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
133135

134136
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
135137
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
138+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
136139
repositoryManagerListener.Received().GitStatusUpdated(Args.GitStatus);
137140
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
138141
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -156,6 +159,7 @@ await RepositoryManager
156159

157160
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
158161
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
162+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
159163
repositoryManagerListener.Received().GitStatusUpdated(Args.GitStatus);
160164
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
161165
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -203,6 +207,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
203207

204208
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
205209
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
210+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
206211
repositoryManagerListener.Received().GitStatusUpdated(Args.GitStatus);
207212
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
208213
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -225,6 +230,7 @@ await RepositoryManager
225230

226231
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
227232
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
233+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
228234
repositoryManagerListener.Received().GitStatusUpdated(Args.GitStatus);
229235
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
230236
repositoryManagerListener.DidNotReceive().GitLogUpdated(Args.GitLogs);
@@ -267,6 +273,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
267273

268274
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
269275
repositoryManagerListener.Received().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
276+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
270277
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
271278
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
272279
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -311,6 +318,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
311318

312319
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
313320
repositoryManagerListener.Received().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
321+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
314322
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
315323
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
316324
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -354,6 +362,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
354362

355363
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
356364
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
365+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
357366
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
358367
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
359368
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -373,6 +382,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
373382

374383
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
375384
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
385+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
376386
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
377387
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
378388
repositoryManagerListener.DidNotReceive().GitLogUpdated(Args.GitLogs);
@@ -417,6 +427,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
417427

418428
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
419429
repositoryManagerListener.Received().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
430+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
420431
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
421432
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
422433
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -438,6 +449,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
438449

439450
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
440451
repositoryManagerListener.Received().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
452+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
441453
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
442454
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
443455
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -483,6 +495,7 @@ await RepositoryManager.CreateBranch("branch2", "another/master")
483495

484496
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
485497
repositoryManagerListener.Received().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
498+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
486499
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
487500
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
488501
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -503,6 +516,7 @@ await RepositoryManager.SwitchBranch("branch2")
503516

504517
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
505518
repositoryManagerListener.Received().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
519+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
506520
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
507521
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
508522
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -545,6 +559,7 @@ await Initialize(TestRepoMasterCleanSynchronized, initializeRepository: false,
545559

546560
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
547561
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
562+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
548563
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
549564
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
550565
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);
@@ -588,6 +603,7 @@ await Initialize(TestRepoMasterCleanUnsynchronized, initializeRepository: false,
588603

589604
repositoryManagerListener.Received().OnIsBusyChanged(Args.Bool);
590605
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
606+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
591607
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
592608
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
593609
repositoryManagerListener.Received().GitLogUpdated(Args.GitLogs);

src/tests/TestUtils/Events/IRepositoryManagerListener.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ interface IRepositoryManagerListener
1414
void RemoteBranchesUpdated(Dictionary<string, ConfigRemote> remotesList, Dictionary<string, Dictionary<string, ConfigBranch>> remoteBranchList);
1515
void CurrentBranchUpdated(ConfigBranch? configBranch, ConfigRemote? configRemote);
1616
void GitLocksUpdated(List<GitLock> gitLocks);
17+
void GitAheadBehindStatusUpdated(GitAheadBehindStatus gitAheadBehindStatus);
1718
void GitStatusUpdated(GitStatus gitStatus);
1819
void GitLogUpdated(List<GitLogEntry> gitLogEntries);
1920
}
@@ -23,6 +24,7 @@ class RepositoryManagerEvents
2324
public EventWaitHandle IsBusy { get; } = new AutoResetEvent(false);
2425
public EventWaitHandle IsNotBusy { get; } = new AutoResetEvent(false);
2526
public EventWaitHandle CurrentBranchUpdated { get; } = new AutoResetEvent(false);
27+
public EventWaitHandle GitAheadBehindStatusUpdated { get; } = new AutoResetEvent(false);
2628
public EventWaitHandle GitStatusUpdated { get; } = new AutoResetEvent(false);
2729
public EventWaitHandle GitLocksUpdated { get; } = new AutoResetEvent(false);
2830
public EventWaitHandle GitLogUpdated { get; } = new AutoResetEvent(false);
@@ -34,6 +36,7 @@ public void Reset()
3436
IsBusy.Reset();
3537
IsNotBusy.Reset();
3638
CurrentBranchUpdated.Reset();
39+
GitAheadBehindStatusUpdated.Reset();
3740
GitStatusUpdated.Reset();
3841
GitLocksUpdated.Reset();
3942
GitLogUpdated.Reset();
@@ -76,6 +79,12 @@ public static void AttachListener(this IRepositoryManagerListener listener,
7679
managerEvents?.GitLocksUpdated.Set();
7780
};
7881

82+
repositoryManager.GitAheadBehindStatusUpdated += gitAheadBehindStatus => {
83+
logger?.Trace("GitAheadBehindStatusUpdated");
84+
listener.GitAheadBehindStatusUpdated(gitAheadBehindStatus);
85+
managerEvents?.GitAheadBehindStatusUpdated.Set();
86+
};
87+
7988
repositoryManager.GitStatusUpdated += gitStatus => {
8089
logger?.Trace("GitStatusUpdated");
8190
listener.GitStatusUpdated(gitStatus);
@@ -105,6 +114,7 @@ public static void AssertDidNotReceiveAnyCalls(this IRepositoryManagerListener r
105114
{
106115
repositoryManagerListener.DidNotReceive().OnIsBusyChanged(Args.Bool);
107116
repositoryManagerListener.DidNotReceive().CurrentBranchUpdated(Args.NullableConfigBranch, Args.NullableConfigRemote);
117+
repositoryManagerListener.DidNotReceive().GitAheadBehindStatusUpdated(Args.GitAheadBehindStatus);
108118
repositoryManagerListener.DidNotReceive().GitStatusUpdated(Args.GitStatus);
109119
repositoryManagerListener.DidNotReceive().GitLocksUpdated(Args.GitLocks);
110120
repositoryManagerListener.DidNotReceive().GitLogUpdated(Args.GitLogs);

src/tests/TestUtils/Helpers/Args.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ static class Args
1616
public static GitFileStatus GitFileStatus { get { return Arg.Any<GitFileStatus>(); } }
1717
public static GitConfigSource GitConfigSource { get { return Arg.Any<GitConfigSource>(); } }
1818
public static List<GitLogEntry> GitLogs { get { return Arg.Any<List<GitLogEntry>>(); } }
19+
public static GitAheadBehindStatus GitAheadBehindStatus { get { return Arg.Any<GitAheadBehindStatus>(); } }
1920
public static GitStatus GitStatus { get { return Arg.Any<GitStatus>(); } }
2021
public static List<GitLock> GitLocks { get { return Arg.Any<List<GitLock>>(); } }
2122
public static IEnumerable<GitLock> EnumerableGitLock { get { return Arg.Any<IEnumerable<GitLock>>(); } }

0 commit comments

Comments
 (0)