Сценарий: Задаётся ОКТМО

Этот коммит содержится в:
Softonik 2024-06-27 04:06:17 +03:00 коммит произвёл Nobody
родитель 2752833cdb
коммит d02409cc51
6 изменённых файлов: 32 добавлений и 1 удалений

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

@ -39,6 +39,11 @@ func (c *Conf) загрузить() error {
return err
}
err = c.год.ЗадатьОКТМО(c.config.OKTMO)
if err != nil {
return err
}
for _, d := range c.config.Действия {
err := c.год.Сделать(d.Цель, d.Квартал)
if err != nil {

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

@ -2,6 +2,7 @@ package config
type Config struct {
НомерСчёта string `json:"НомерСчёта"`
OKTMO string `json:"OKTMO"`
Действия []Действие `json:"Действия"`
}

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

@ -91,6 +91,11 @@
Когда Задан счёт "123"
То Считывается счёт "123"
Сценарий: Задаётся ОКТМО
Дано Год: 2024
Когда Задан ОКТМО "123"
То Считывается ОКТМО "123"
Сценарий: Достижение целей: неизвестная - ошибка
Дано Год: 2024
Дано Должна быть ошибка

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

@ -27,6 +27,8 @@ func InitializeScenario(ctx *godog.ScenarioContext) {
ctx.Step(`^Есть цель: (\d+)% сверх (\d+)тр за год: "([^"]*)"$`, естьЦельСверхТрЗаГод)
ctx.Step(`^Задан счёт "([^"]*)"$`, заданСчёт)
ctx.Step(`^Считывается счёт "([^"]*)"$`, считываетсяСчёт)
ctx.Step(`^Задан ОКТМО "([^"]*)"$`, заданОКТМО)
ctx.Step(`^Считывается ОКТМО "([^"]*)"$`, считываетсяОКТМО)
ctx.Step(`^Должна быть ошибка$`, должнаБытьОшибка)
ctx.Step(`^Действие: "([^"]*)" за (\d+) квартал$`, действиеЗаКвартал)
ctx.Step(`^Цель "([^"]*)" за (\d+) квартал достигнута: "([^"]*)"$`, цельЗаКварталДостигнута)

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

@ -1,6 +1,8 @@
package schet
import "fmt"
import (
"fmt"
)
const (
КоличествоКварталов = 4
@ -13,6 +15,7 @@ type Год struct {
цели *Цели
доход float64
счёт string
октмо string
out OutIface
}
@ -47,6 +50,14 @@ func (g *Год) Счёт() string {
return g.счёт
}
func (g *Год) ЗадатьОКТМО(s string) error {
g.октмо = s
return nil
}
func (g *Год) ОКТМО() string {
return g.октмо
}
func (g *Год) Сделать(цель string, квартал int) error {
k, err := g.Квартал(квартал)
if err != nil {

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

@ -104,6 +104,13 @@ func должнаБытьОшибка() {
t.должнаБытьОшибка = true
}
func заданОКТМО(v string) {
t.g.ЗадатьОКТМО(v)
}
func считываетсяОКТМО(v string) {
Ω(t.g.ОКТМО()).To(Be(v), "считываетсяОКТМО")
}
func действиеЗаКвартал(цель string, квартал int) {
err := t.g.Сделать(цель, квартал)
if t.должнаБытьОшибка {