From c9e643e2d936bc48ef2aad313850ff12e74a7010 Mon Sep 17 00:00:00 2001 From: adragusin Date: Thu, 14 May 2020 18:00:46 +0300 Subject: [PATCH] Added tests for ParseBalanceFilterValue --- utils/value_formula_test.go | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/utils/value_formula_test.go b/utils/value_formula_test.go index 138de56bd..04ffcc8bb 100644 --- a/utils/value_formula_test.go +++ b/utils/value_formula_test.go @@ -90,3 +90,44 @@ func TestValueFormulaString(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) } } + +func TestParseBalanceFilterValue(t *testing.T) { + d, err := ParseDurationWithNanosecs("18") + if err != nil { + t.Error("error parsing time: ", err) + } + eOut := &ValueFormula{ + Static: float64(d.Nanoseconds()), + } + if rcv, err := ParseBalanceFilterValue(VOICE, "18"); err != nil { + t.Errorf("Expecting: nil, received: %+v", err) + } else if !reflect.DeepEqual(rcv, eOut) { + t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) + } + + eOut = &ValueFormula{ + Static: float64(19), + } + if rcv, err := ParseBalanceFilterValue(EmptyString, "19"); err != nil { + t.Errorf("Expecting: nil, received: %+v", err) + } else if !reflect.DeepEqual(rcv, eOut) { + t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) + } + + eOut = &ValueFormula{} + if err := json.Unmarshal([]byte(`{"Units":10, "Interval":"week", "Increment":"day"}`), &eOut); err != nil { + t.Error("error unmarshalling params: ", err) + } + + if rcv, err := ParseBalanceFilterValue(EmptyString, `{"Units":10, "Interval":"week", "Increment":"day"}`); err != nil { + t.Errorf("Expecting: nil, received: %+v", err) + } else if !reflect.DeepEqual(rcv, eOut) { + t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) + } + + if rcv, err := ParseBalanceFilterValue(EmptyString, `not really a json`); rcv != nil { + t.Errorf("Expecting: nil, received: %+v", rcv) + } else if err.Error() != "Invalid value: not really a json" { + t.Errorf("Expecting: %+v, received: %+v", eOut, rcv) + } +}