145 строки
3,9 КиБ
Go
145 строки
3,9 КиБ
Go
package schet
|
|
|
|
import (
|
|
"fmt"
|
|
"my/schet/pkg/delo_lib"
|
|
. "my/schet/pkg/testlib"
|
|
|
|
. "github.com/onsi/gomega"
|
|
)
|
|
|
|
type testData struct {
|
|
g *Год
|
|
год_номер int
|
|
квартал_номер int
|
|
квартал *Квартал
|
|
доход float64
|
|
цели *Цели
|
|
должнаБытьОшибка bool
|
|
}
|
|
|
|
var (
|
|
t *testData
|
|
)
|
|
|
|
func resetTestData() {
|
|
t = &testData{}
|
|
}
|
|
|
|
func beforeSuite() {
|
|
}
|
|
func afterSuite() {
|
|
}
|
|
|
|
func beforeScenario() {
|
|
resetTestData()
|
|
_ = Ω
|
|
|
|
}
|
|
func afterScenario() {
|
|
}
|
|
|
|
// -----------------------
|
|
func год(год int) {
|
|
t.год_номер = год
|
|
t.g = NewГод(t.год_номер)
|
|
t.цели = t.g.Цели()
|
|
}
|
|
func квартал(квартал int) {
|
|
t.квартал_номер = квартал
|
|
k, err := t.цели.Квартал(t.квартал_номер)
|
|
Ok(err)
|
|
t.квартал = k
|
|
}
|
|
|
|
func доход(доход float64) {
|
|
t.доход = доход
|
|
err := t.g.ДобавитьДоход(t.доход, t.квартал_номер)
|
|
Ok(err)
|
|
}
|
|
func доходЗаКвартал(доход float64, квартал int) {
|
|
err := t.g.ДобавитьДоход(доход, квартал)
|
|
Ok(err)
|
|
}
|
|
|
|
func доходВКвартал(доход float64) {
|
|
Ω(t.квартал.Доход()).To(Be(доход), "доходВКвартал")
|
|
}
|
|
func доходВГод(доход float64) {
|
|
Ω(t.g.Доход()).To(Be(доход), "доходВГод")
|
|
}
|
|
|
|
func естьЦельОПСЗаЭтотКвартал(v float64) {
|
|
Ω(t.квартал.ОПС.Сумма()).To(Be(v), "ОПС за квартал")
|
|
}
|
|
|
|
func естьЦельУСНЗаЭтотКвартал(v float64) {
|
|
Ω(t.квартал.УСН.Сумма()).To(Be(v), "УСН за квартал")
|
|
}
|
|
|
|
func естьЦельСверхТрЗаКвартал(_, _, оплатить string) {
|
|
v := Atof(оплатить)
|
|
v = delo_lib.ОкруглитьРубли(v)
|
|
Ω(t.квартал.ПроцентСверх300тр()).To(Be(v), "1пр сверх 300тр за квартал")
|
|
}
|
|
func естьЦельСверхТрЗаNКвартал(arg1, arg2, in int, оплатить string) {
|
|
k, err := t.цели.Квартал(in)
|
|
Ok(err)
|
|
|
|
Ω(k.ПроцентСверх300тр()).To(Be(Atof(оплатить)), fmt.Sprintf("1пр сверх 300тр за квартал %v", in))
|
|
}
|
|
func естьЦельСверхТрЗаГод(_, _, оплатить string) {
|
|
v := Atof(оплатить)
|
|
v = delo_lib.ОкруглитьРубли(v)
|
|
Ω(t.g.ПроцентСверх300тр()).To(Be(v), "1пр сверх 300тр за год")
|
|
}
|
|
|
|
func заданСчёт(v string) {
|
|
t.g.ЗадатьСчёт(v)
|
|
}
|
|
func считываетсяСчёт(v string) {
|
|
Ω(t.g.Счёт()).To(Be(v), "считываетсяСчёт")
|
|
}
|
|
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.должнаБытьОшибка {
|
|
Err(err)
|
|
} else {
|
|
Ok(err)
|
|
}
|
|
}
|
|
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(дата), "срокУплаты: "+цель)
|
|
}
|