Сценарий: Параметры ОПС: КБК и срок уплаты

Этот коммит содержится в:
Softonik 2024-06-27 03:59:41 +03:00 коммит произвёл Nobody
родитель b6535b6c58
коммит 2752833cdb
5 изменённых файлов: 59 добавлений и 0 удалений

Просмотреть файл

@ -8,6 +8,9 @@ const (
ЦельОПС = "ОПС"
Цель1пр = "1пр"
ЦельУСН = "УСН"
КБК_ОПС = "18210202000011000160"
СрокУплаты_ОПС_префикс = "9.01."
)
var (

Просмотреть файл

@ -134,3 +134,15 @@
То Цель "УСН" за 2 квартал достигнута: "-"
То Цель "УСН" за 3 квартал достигнута: "-"
То Цель "УСН" за 4 квартал достигнута: "-"
Сценарий: Параметры ОПС: КБК и срок уплаты
Дано Год: 2024
То КБК "ОПС": "18210202000011000160"
То Срок уплаты "ОПС": "9.01.2025"
Сценарий: Параметры неизвестного: КБК и срок уплаты
Дано Год: 2024
Дано Квартал: 1
Дано Должна быть ошибка
То КБК "неизвестного": ""
То Срок уплаты "неизвестного": ""

Просмотреть файл

@ -30,6 +30,8 @@ func InitializeScenario(ctx *godog.ScenarioContext) {
ctx.Step(`^Должна быть ошибка$`, должнаБытьОшибка)
ctx.Step(`^Действие: "([^"]*)" за (\d+) квартал$`, действиеЗаКвартал)
ctx.Step(`^Цель "([^"]*)" за (\d+) квартал достигнута: "([^"]*)"$`, цельЗаКварталДостигнута)
ctx.Step(`^КБК "([^"]*)": "([^"]*)"$`, кБК)
ctx.Step(`^Срок уплаты "([^"]*)": "([^"]*)"$`, срокУплаты)
// -----------------------
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {

Просмотреть файл

@ -1,5 +1,7 @@
package schet
import "fmt"
const (
КоличествоКварталов = 4
НомерПервогоКвартала = 1
@ -101,3 +103,22 @@ func (g *Год) Вывести(out OutIface) error {
g.out = out
return out.Печать(g)
}
func (g *Год) КБК(цель string) (string, error) {
switch цель {
case ЦельОПС:
return КБК_ОПС, nil
}
return "", ErrНеизвестнаяЦель
}
func (g *Год) СрокУплаты(цель string) (string, error) {
switch цель {
case ЦельОПС:
return g.срокУплаты_ОПС(), nil
}
return "", ErrНеизвестнаяЦель
}
func (g *Год) срокУплаты_ОПС() string {
return fmt.Sprintf("%v%v", СрокУплаты_ОПС_префикс, g.год+1)
}

Просмотреть файл

@ -115,3 +115,24 @@ func действиеЗаКвартал(цель string, квартал int) {
func цельЗаКварталДостигнута(цель string, квартал int, достигнута string) {
Ω(t.g.ЦельДостигнута(цель, квартал)).To(Be(Истина(достигнута)), "цельЗаКварталДостигнута: "+цель)
}
func кБК(цель, кбк string) {
k, err := t.g.КБК(цель)
if t.должнаБытьОшибка {
Err(err)
} else {
Ok(err)
}
Ω(k).To(Be(кбк), "кбк: "+цель)
}
func срокУплаты(цель, дата string) {
d, err := t.g.СрокУплаты(цель)
if t.должнаБытьОшибка {
Err(err)
} else {
Ok(err)
}
Ω(d).To(Be(дата), "срокУплаты: "+цель)
}