Резолв маршрута: поле PositionCode (HeadType) в ответе шага
Раньше по ответу резолва нельзя было отличить «руководителя направления» от «директора Tansu» иначе как парсингом Position (реальной должности из справочника api.tnsu.kz, свободный текст). PositionCode — это HeadType самого шага (Chief/DirectionHead/DirectorTansu/ManagingDirectorTansu/ DepartmentHead), null для шагов с исполнителем по email/должности/роли. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+3
@@ -182,6 +182,8 @@ public sealed class TemplateRouteServiceTests : IClassFixture<PostgresDatabaseFi
|
||||
resolved.Value.RouteId.ShouldBe(route.Value.Id);
|
||||
resolved.Value.Steps.ShouldHaveSingleItem();
|
||||
resolved.Value.Steps[0].ExecutorEmail.ShouldBe("approver@tnsu.kz");
|
||||
// Исполнитель задан email'ом, а не типом руководителя — PositionCode пуст.
|
||||
resolved.Value.Steps[0].PositionCode.ShouldBeNull();
|
||||
}
|
||||
|
||||
// SLA приезжает в резолв уже с применённым наследованием — это осознанное
|
||||
@@ -704,6 +706,7 @@ public sealed class TemplateRouteServiceTests : IClassFixture<PostgresDatabaseFi
|
||||
resolved.IsSuccess.ShouldBeTrue();
|
||||
resolved.Value.Steps.ShouldHaveSingleItem();
|
||||
resolved.Value.Steps[0].ExecutorEmail.ShouldBe("chief@tnsu.kz");
|
||||
resolved.Value.Steps[0].PositionCode.ShouldBe(HeadType.Chief);
|
||||
}
|
||||
|
||||
[Fact(DisplayName = "Резолв шага с типом руководителя DirectorTansu подставляет захардкоженный email из настроек")]
|
||||
|
||||
Reference in New Issue
Block a user