теперь 7 дней
This commit is contained in:
@@ -32,8 +32,14 @@ public sealed class RemindersOptions
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string RecruitingHirePageUrl { get; set; } = "recruiting-hire";
|
public string RecruitingHirePageUrl { get; set; } = "recruiting-hire";
|
||||||
|
|
||||||
/// <summary>За сколько дней до конца испытательного срока присылать напоминание.</summary>
|
/// <summary>
|
||||||
public int ProbationReminderDaysBeforeEnd { get; set; } = 3;
|
/// За сколько дней до конца испытательного срока присылать напоминание — неделя,
|
||||||
|
/// чтобы у руководителя было время подготовить решение по итогам срока.
|
||||||
|
///
|
||||||
|
/// Дни КАЛЕНДАРНЫЕ, не рабочие: напоминание строится ровно в тот день, когда до
|
||||||
|
/// конца срока остаётся столько дней, и попади он на выходной — уйдёт в выходной.
|
||||||
|
/// </summary>
|
||||||
|
public int ProbationReminderDaysBeforeEnd { get; set; } = 7;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Куда ведёт ссылка в напоминании об окончании испытательного срока — на
|
/// Куда ведёт ссылка в напоминании об окончании испытательного срока — на
|
||||||
|
|||||||
+14
-2
@@ -36,6 +36,11 @@ public sealed class ReminderServiceTests : IClassFixture<PostgresDatabaseFixture
|
|||||||
// с ожидаемой случайно.
|
// с ожидаемой случайно.
|
||||||
private const string ProbationReminderUrl = "https://portal.test/новая-заявка";
|
private const string ProbationReminderUrl = "https://portal.test/новая-заявка";
|
||||||
|
|
||||||
|
// Порог фиксируем в тестах СВОИМ значением, не полагаясь на дефолт из
|
||||||
|
// RemindersOptions: изменение продового порога (3 → 7 дней и далее) не должно
|
||||||
|
// ломать тесты, которые проверяют вовсе не его.
|
||||||
|
private const int ProbationDaysBeforeEnd = 3;
|
||||||
|
|
||||||
private static readonly DateTimeOffset Now = new(2026, 8, 12, 12, 0, 0, TimeSpan.Zero);
|
private static readonly DateTimeOffset Now = new(2026, 8, 12, 12, 0, 0, TimeSpan.Zero);
|
||||||
|
|
||||||
// GetOverdueAsync/GetProbationEndingAsync по-прежнему берут now параметром — их
|
// GetOverdueAsync/GetProbationEndingAsync по-прежнему берут now параметром — их
|
||||||
@@ -335,7 +340,7 @@ public sealed class ReminderServiceTests : IClassFixture<PostgresDatabaseFixture
|
|||||||
|
|
||||||
private ReminderService BuildProbationService(
|
private ReminderService BuildProbationService(
|
||||||
string pageUrl, string listUrl, IReadOnlyList<object> rows, Mock<ITnsuPortalClient> portalClient,
|
string pageUrl, string listUrl, IReadOnlyList<object> rows, Mock<ITnsuPortalClient> portalClient,
|
||||||
int daysBeforeEnd = 3)
|
int daysBeforeEnd = ProbationDaysBeforeEnd)
|
||||||
{
|
{
|
||||||
const string hireDataListTitle = "Прием на работу тест — данные";
|
const string hireDataListTitle = "Прием на работу тест — данные";
|
||||||
|
|
||||||
@@ -595,7 +600,14 @@ public sealed class ReminderServiceTests : IClassFixture<PostgresDatabaseFixture
|
|||||||
|
|
||||||
var service = new ReminderService(
|
var service = new ReminderService(
|
||||||
db, sharePoint.Object, partitionRegistry, portalClient.Object, Clock,
|
db, sharePoint.Object, partitionRegistry, portalClient.Object, Clock,
|
||||||
Options.Create(new RemindersOptions { RecruitingHirePageUrl = pageUrl, ProbationReminderUrl = ProbationReminderUrl }),
|
// Порог задан явно (как и в BuildProbationService): тест про партиции, а
|
||||||
|
// не про то, сколько дней до конца срока настроено в проде.
|
||||||
|
Options.Create(new RemindersOptions
|
||||||
|
{
|
||||||
|
RecruitingHirePageUrl = pageUrl,
|
||||||
|
ProbationReminderUrl = ProbationReminderUrl,
|
||||||
|
ProbationReminderDaysBeforeEnd = ProbationDaysBeforeEnd
|
||||||
|
}),
|
||||||
NullLogger<ReminderService>.Instance);
|
NullLogger<ReminderService>.Instance);
|
||||||
|
|
||||||
var result = await service.GetProbationEndingAsync(Now, CancellationToken.None);
|
var result = await service.GetProbationEndingAsync(Now, CancellationToken.None);
|
||||||
|
|||||||
Reference in New Issue
Block a user