COOPENOMICS  v1
Кооперативная Экономика
coopenomics_tester.hpp
См. документацию.
1#include <eosio/testing/tester.hpp>
2#include <eosio/chain/abi_serializer.hpp>
3#include <eosio/chain/resource_limits.hpp>
4
5#include <boost/test/unit_test.hpp>
7#include <fc/variant_object.hpp>
8#include <fstream>
9
10using namespace eosio::chain;
11using namespace eosio::testing;
12using namespace fc;
13
14
16public:
17
18 action_result push_action_to_fund( const account_name& signer, const action_name &name, const variant_object &data, bool auth = true ) {
19 string action_type_name = fund_abi_ser.get_action_type(name);
20
21 action act;
22 act.account = _fund;
23 act.name = name;
24 act.data = fund_abi_ser.variant_to_binary( action_type_name, data, abi_serializer::create_yield_function(abi_serializer_max_time) );
25
26 account_name auth_account = auth ? signer : "bob111111111"_n;
27 return base_tester::push_action( std::move(act), auth_account.to_uint64_t() );
28 }
29
30
31 fc::variant get_cooperative_wallet( name coopname ) {
32 // vector<char> get_row_by_account( name code, name scope, name table, const account_name& act ) const;
33 vector<char> data = get_row_by_account( _fund, coopname, "coopwallet"_n, eosio::chain::name(0) );
34 return data.empty() ? fc::variant() : fund_abi_ser.binary_to_variant( "coopwallet", data, abi_serializer::create_yield_function(abi_serializer_max_time) );
35 }
36
37 fc::variant get_accumulation_wallet( name coopname, uint64_t id ) {
38 vector<char> data = get_row_by_account( _fund, coopname, "accfunds"_n, eosio::chain::name(id) );
39 return data.empty() ? fc::variant() : fund_abi_ser.binary_to_variant( "accfund", data, abi_serializer::create_yield_function(abi_serializer_max_time) );
40 }
41
42 fc::variant get_expense_wallet( name coopname, uint64_t id ) {
43 vector<char> data = get_row_by_account( _fund, coopname, "expfunds"_n, eosio::chain::name(id) );
44 return data.empty() ? fc::variant() : fund_abi_ser.binary_to_variant( "expfund", data, abi_serializer::create_yield_function(abi_serializer_max_time) );
45 }
46
47 action_result addinitial(const name& signer, const name& coopname, const asset& quantity) {
48 return push_action_to_fund(signer, "addinitial"_n, mvo()("coopname", coopname)("quantity", quantity));
49 }
50
51 action_result subinitial(const name& signer, const name& coopname, const asset& quantity) {
52 return push_action_to_fund(signer, "subinitial"_n, mvo()("coopname", coopname)("quantity", quantity));
53 }
54
55
56
57 // Ваши дополнительные методы или поля
59 // Реализация вашего метода
60 }
61};
Definition: coopenomics_tester.hpp:15
fc::variant get_expense_wallet(name coopname, uint64_t id)
Definition: coopenomics_tester.hpp:42
action_result push_action_to_fund(const account_name &signer, const action_name &name, const variant_object &data, bool auth=true)
Definition: coopenomics_tester.hpp:18
fc::variant get_accumulation_wallet(name coopname, uint64_t id)
Definition: coopenomics_tester.hpp:37
action_result addinitial(const name &signer, const name &coopname, const asset &quantity)
Definition: coopenomics_tester.hpp:47
void my_custom_method()
Definition: coopenomics_tester.hpp:58
action_result subinitial(const name &signer, const name &coopname, const asset &quantity)
Definition: coopenomics_tester.hpp:51
fc::variant get_cooperative_wallet(name coopname)
Definition: coopenomics_tester.hpp:31
Definition: eosio.system_tester.hpp:45
abi_serializer fund_abi_ser
Definition: eosio.system_tester.hpp:1178
static constexpr eosio::name _fund
Definition: consts.hpp:159
push_action("alice"_n, "propose"_n, mvo()("proposer", "alice")("proposal_name", "first")("trx", trx)("requested", vector< permission_level >{{ "alice"_n, config::active_name }}))
action act
Definition: eosio.msig_tests.cpp:974
fc::mutable_variant_object mvo
Definition: eosio.msig_tests.cpp:17
action(permission_level{ _gateway, "active"_n}, _gateway, "adduser"_n, std::make_tuple(coopname, deposit->username, to_spread, to_circulation, eosio::current_time_point(), true)).send()