diff --git a/pkg/schet/celi.go b/pkg/schet/celi.go index 60bb9ce..b0fe018 100644 --- a/pkg/schet/celi.go +++ b/pkg/schet/celi.go @@ -10,6 +10,7 @@ const ( ЦельУСН = "УСН" КБК_ОПС = "18210202000011000160" + КогдаСделать_ОПС = "до конца квартала" СрокУплаты_ОПС_префикс = "9.01." ) diff --git a/pkg/schet/features/app.feature b/pkg/schet/features/app.feature index 347bd7f..88a350d 100644 --- a/pkg/schet/features/app.feature +++ b/pkg/schet/features/app.feature @@ -140,9 +140,10 @@ То Цель "УСН" за 3 квартал достигнута: "-" То Цель "УСН" за 4 квартал достигнута: "-" - Сценарий: Параметры ОПС: КБК и срок уплаты + Сценарий: Параметры ОПС: КБК, когда сделать и срок уплаты Дано Год: 2024 То КБК "ОПС": "18210202000011000160" + То Когда сделать "ОПС": "до конца квартала" То Срок уплаты "ОПС": "9.01.2025" Сценарий: Параметры неизвестного: КБК и срок уплаты @@ -150,4 +151,5 @@ Дано Квартал: 1 Дано Должна быть ошибка То КБК "неизвестного": "" + То Когда сделать "неизвестного": "" То Срок уплаты "неизвестного": "" diff --git a/pkg/schet/init_test.go b/pkg/schet/init_test.go index 08f3696..3110f7b 100644 --- a/pkg/schet/init_test.go +++ b/pkg/schet/init_test.go @@ -33,6 +33,7 @@ func InitializeScenario(ctx *godog.ScenarioContext) { ctx.Step(`^Действие: "([^"]*)" за (\d+) квартал$`, действиеЗаКвартал) ctx.Step(`^Цель "([^"]*)" за (\d+) квартал достигнута: "([^"]*)"$`, цельЗаКварталДостигнута) ctx.Step(`^КБК "([^"]*)": "([^"]*)"$`, кБК) + ctx.Step(`^Когда сделать "([^"]*)": "([^"]*)"$`, когдаСделать) ctx.Step(`^Срок уплаты "([^"]*)": "([^"]*)"$`, срокУплаты) // ----------------------- diff --git a/pkg/schet/schet.go b/pkg/schet/schet.go index e3bf99a..c7f3b21 100644 --- a/pkg/schet/schet.go +++ b/pkg/schet/schet.go @@ -123,6 +123,13 @@ func (g *Год) КБК(цель string) (string, error) { return "", ErrНеизвестнаяЦель } +func (g *Год) КогдаСделать(цель string) (string, error) { + switch цель { + case ЦельОПС: + return КогдаСделать_ОПС, nil + } + return "", ErrНеизвестнаяЦель +} func (g *Год) СрокУплаты(цель string) (string, error) { switch цель { case ЦельОПС: diff --git a/pkg/schet/schet_test.go b/pkg/schet/schet_test.go index 0d1b90a..2bb1d85 100644 --- a/pkg/schet/schet_test.go +++ b/pkg/schet/schet_test.go @@ -133,6 +133,16 @@ func кБК(цель, кбк string) { Ω(k).To(Be(кбк), "кбк: "+цель) } +func когдаСделать(цель, время string) { + d, err := t.g.КогдаСделать(цель) + if t.должнаБытьОшибка { + Err(err) + } else { + Ok(err) + } + + Ω(d).To(Be(время), "когдаСделать: "+цель) +} func срокУплаты(цель, дата string) { d, err := t.g.СрокУплаты(цель) if t.должнаБытьОшибка {