mirror of
https://github.com/aclindsa/moneygo.git
synced 2024-12-26 23:42:29 -05:00
testing: Test Lua accounts
This commit is contained in:
parent
fb67ab586f
commit
985270f190
77
internal/handlers/accounts_lua_test.go
Normal file
77
internal/handlers/accounts_lua_test.go
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
package handlers_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestLuaAccounts(t *testing.T) {
|
||||||
|
RunWith(t, &data[0], func(t *testing.T, d *TestData) {
|
||||||
|
accounts, err := getAccounts(d.clients[0])
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Error getting accounts: %s", err)
|
||||||
|
}
|
||||||
|
accountids := make(Int64Slice, len(*accounts.Accounts))
|
||||||
|
for i, s := range *accounts.Accounts {
|
||||||
|
accountids[i] = s.AccountId
|
||||||
|
}
|
||||||
|
accountids.Sort()
|
||||||
|
|
||||||
|
equalityString := ""
|
||||||
|
for i, _ := range accountids {
|
||||||
|
for j, _ := range accountids {
|
||||||
|
if i == j {
|
||||||
|
equalityString += "true"
|
||||||
|
} else {
|
||||||
|
equalityString += "false"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
id := d.accounts[3].AccountId
|
||||||
|
simpleLuaTest(t, d.clients[0], []LuaTest{
|
||||||
|
{"SecurityId", fmt.Sprintf("return get_accounts()[%d].SecurityId", id), strconv.FormatInt(d.accounts[3].SecurityId, 10)},
|
||||||
|
{"Security", fmt.Sprintf("return get_accounts()[%d].Security.SecurityId", id), strconv.FormatInt(d.accounts[3].SecurityId, 10)},
|
||||||
|
{"Parent", fmt.Sprintf("return get_accounts()[%d].Parent.AccountId", id), strconv.FormatInt(d.accounts[3].ParentAccountId, 10)},
|
||||||
|
{"Name", fmt.Sprintf("return get_accounts()[%d].Name", id), d.accounts[3].Name},
|
||||||
|
{"Type", fmt.Sprintf("return get_accounts()[%d].Type", id), strconv.FormatInt(int64(d.accounts[3].Type), 10)},
|
||||||
|
{"TypeName", fmt.Sprintf("return get_accounts()[%d].TypeName", id), d.accounts[3].Type.String()},
|
||||||
|
{"typename", fmt.Sprintf("return get_accounts()[%d].typename", id), strings.ToLower(d.accounts[3].Type.String())},
|
||||||
|
{"Balance()", fmt.Sprintf("return get_accounts()[%d]:Balance().Amount", id), "87.19"},
|
||||||
|
{"Balance(1)", fmt.Sprintf("return get_accounts()[%d]:Balance(date.new('2017-10-30')).Amount", id), "5.6"},
|
||||||
|
{"Balance(2)", fmt.Sprintf("return get_accounts()[%d]:Balance(date.new('2017-10-30'), date.new('2017-11-01')).Amount", id), "81.59"},
|
||||||
|
{"__tostring", fmt.Sprintf("return get_accounts()[%d]", id), "Expenses/Groceries"},
|
||||||
|
{"__eq", `
|
||||||
|
accounts = get_accounts()
|
||||||
|
sorted = {}
|
||||||
|
for id in pairs(accounts) do
|
||||||
|
table.insert(sorted, id)
|
||||||
|
end
|
||||||
|
str = ""
|
||||||
|
table.sort(sorted)
|
||||||
|
for i,idi in ipairs(sorted) do
|
||||||
|
for j,idj in ipairs(sorted) do
|
||||||
|
if accounts[idi] == accounts[idj] then
|
||||||
|
str = str .. "true"
|
||||||
|
else
|
||||||
|
str = str .. "false"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return str`, equalityString},
|
||||||
|
{"get_accounts()", `
|
||||||
|
sorted = {}
|
||||||
|
for id in pairs(get_accounts()) do
|
||||||
|
table.insert(sorted, id)
|
||||||
|
end
|
||||||
|
table.sort(sorted)
|
||||||
|
str = "["
|
||||||
|
for i,id in ipairs(sorted) do
|
||||||
|
str = str .. id .. " "
|
||||||
|
end
|
||||||
|
return string.sub(str, 1, -2) .. "]"`, fmt.Sprint(accountids)},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user