Сценарий: Задаётся ОКТМО
Этот коммит содержится в:
		
							родитель
							
								
									2752833cdb
								
							
						
					
					
						коммит
						d02409cc51
					
				
					 6 изменённых файлов: 32 добавлений и 1 удалений
				
			
		|  | @ -39,6 +39,11 @@ func (c *Conf) загрузить() error { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	err = c.год.ЗадатьОКТМО(c.config.OKTMO) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	for _, d := range c.config.Действия { | 	for _, d := range c.config.Действия { | ||||||
| 		err := c.год.Сделать(d.Цель, d.Квартал) | 		err := c.год.Сделать(d.Цель, d.Квартал) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ package config | ||||||
| 
 | 
 | ||||||
| type Config struct { | type Config struct { | ||||||
| 	НомерСчёта string     `json:"НомерСчёта"` | 	НомерСчёта string     `json:"НомерСчёта"` | ||||||
|  | 	OKTMO      string     `json:"OKTMO"` | ||||||
| 	Действия   []Действие `json:"Действия"` | 	Действия   []Действие `json:"Действия"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -91,6 +91,11 @@ | ||||||
|     Когда Задан счёт "123" |     Когда Задан счёт "123" | ||||||
|     То Считывается счёт "123" |     То Считывается счёт "123" | ||||||
| 
 | 
 | ||||||
|  |   Сценарий: Задаётся ОКТМО | ||||||
|  |     Дано Год: 2024 | ||||||
|  |     Когда Задан ОКТМО "123" | ||||||
|  |     То Считывается ОКТМО "123" | ||||||
|  | 
 | ||||||
|   Сценарий: Достижение целей: неизвестная - ошибка |   Сценарий: Достижение целей: неизвестная - ошибка | ||||||
|     Дано Год: 2024 |     Дано Год: 2024 | ||||||
|     Дано Должна быть ошибка |     Дано Должна быть ошибка | ||||||
|  |  | ||||||
|  | @ -27,6 +27,8 @@ func InitializeScenario(ctx *godog.ScenarioContext) { | ||||||
| 	ctx.Step(`^Есть цель: (\d+)% сверх (\d+)тр за год: "([^"]*)"$`, естьЦельСверхТрЗаГод) | 	ctx.Step(`^Есть цель: (\d+)% сверх (\d+)тр за год: "([^"]*)"$`, естьЦельСверхТрЗаГод) | ||||||
| 	ctx.Step(`^Задан счёт "([^"]*)"$`, заданСчёт) | 	ctx.Step(`^Задан счёт "([^"]*)"$`, заданСчёт) | ||||||
| 	ctx.Step(`^Считывается счёт "([^"]*)"$`, считываетсяСчёт) | 	ctx.Step(`^Считывается счёт "([^"]*)"$`, считываетсяСчёт) | ||||||
|  | 	ctx.Step(`^Задан ОКТМО "([^"]*)"$`, заданОКТМО) | ||||||
|  | 	ctx.Step(`^Считывается ОКТМО "([^"]*)"$`, считываетсяОКТМО) | ||||||
| 	ctx.Step(`^Должна быть ошибка$`, должнаБытьОшибка) | 	ctx.Step(`^Должна быть ошибка$`, должнаБытьОшибка) | ||||||
| 	ctx.Step(`^Действие: "([^"]*)" за (\d+) квартал$`, действиеЗаКвартал) | 	ctx.Step(`^Действие: "([^"]*)" за (\d+) квартал$`, действиеЗаКвартал) | ||||||
| 	ctx.Step(`^Цель "([^"]*)" за (\d+) квартал достигнута: "([^"]*)"$`, цельЗаКварталДостигнута) | 	ctx.Step(`^Цель "([^"]*)" за (\d+) квартал достигнута: "([^"]*)"$`, цельЗаКварталДостигнута) | ||||||
|  |  | ||||||
|  | @ -1,6 +1,8 @@ | ||||||
| package schet | package schet | ||||||
| 
 | 
 | ||||||
| import "fmt" | import ( | ||||||
|  | 	"fmt" | ||||||
|  | ) | ||||||
| 
 | 
 | ||||||
| const ( | const ( | ||||||
| 	КоличествоКварталов     = 4 | 	КоличествоКварталов     = 4 | ||||||
|  | @ -13,6 +15,7 @@ type Год struct { | ||||||
| 	цели  *Цели | 	цели  *Цели | ||||||
| 	доход float64 | 	доход float64 | ||||||
| 	счёт  string | 	счёт  string | ||||||
|  | 	октмо string | ||||||
| 	out   OutIface | 	out   OutIface | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -47,6 +50,14 @@ func (g *Год) Счёт() string { | ||||||
| 	return g.счёт | 	return g.счёт | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func (g *Год) ЗадатьОКТМО(s string) error { | ||||||
|  | 	g.октмо = s | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  | func (g *Год) ОКТМО() string { | ||||||
|  | 	return g.октмо | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (g *Год) Сделать(цель string, квартал int) error { | func (g *Год) Сделать(цель string, квартал int) error { | ||||||
| 	k, err := g.Квартал(квартал) | 	k, err := g.Квартал(квартал) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|  |  | ||||||
|  | @ -104,6 +104,13 @@ func должнаБытьОшибка() { | ||||||
| 	t.должнаБытьОшибка = true | 	t.должнаБытьОшибка = true | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func заданОКТМО(v string) { | ||||||
|  | 	t.g.ЗадатьОКТМО(v) | ||||||
|  | } | ||||||
|  | func считываетсяОКТМО(v string) { | ||||||
|  | 	Ω(t.g.ОКТМО()).To(Be(v), "считываетсяОКТМО") | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func действиеЗаКвартал(цель string, квартал int) { | func действиеЗаКвартал(цель string, квартал int) { | ||||||
| 	err := t.g.Сделать(цель, квартал) | 	err := t.g.Сделать(цель, квартал) | ||||||
| 	if t.должнаБытьОшибка { | 	if t.должнаБытьОшибка { | ||||||
|  |  | ||||||
		Загрузка…
	
	Создание таблицы
		
		Сослаться в новой задаче
	
	 Softonik
						Softonik