fix(worker): kept worktree in a company repo opens a PR, unexpected ADO/git errors never fail a task start

This commit is contained in:
mika kuns
2026-10-01 12:25:15 +02:00
parent 93fd6740a1
commit 4917533cb4
7 changed files with 54 additions and 13 deletions
@@ -158,6 +158,22 @@ public sealed class CompanyApproveTests : IDisposable
Assert.StartsWith("Resolves [#412](https://ticket.fb-tuning.local/board/project/393/ticket/412)", description);
}
[Fact]
public async Task Approve_KeptWorktree_OpensPrInsteadOfMergingLocally()
{
if (!GitRepoFixture.IsGitAvailable()) return;
await SetUpWorktree();
using (var ctx = _db.CreateContext())
await new WorktreeRepository(ctx).SetStateAsync("t1", WorktreeState.Kept);
var mainBefore = GitRepoFixture.RunGit(_repo.RepoDir, "rev-parse", "main").Trim();
var r = await Merge(Ado()).ApproveAndMergeAsync("t1", "", default);
Assert.Equal(TaskMergeService.StatusPrCreated, r.Status);
Assert.Equal(mainBefore, GitRepoFixture.RunGit(_repo.RepoDir, "rev-parse", "main").Trim());
Assert.Equal(WorktreeState.Active, (await Rows()).Wt.State);
}
[Fact]
public async Task Approve_ReusesActivePr_AsUpdate()
{