=begin
#Tatum API

## Authentication  <!-- ReDoc-Inject: <security-definitions> -->

OpenAPI spec version: 3.9.0

Generated by: https://github.com/swagger-api/swagger-codegen.git
Swagger Codegen version: 3.0.31
=end

require 'spec_helper'
require 'json'

# Unit tests for Tatum::LedgerAccountApi
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
# Please update as you see appropriate
describe 'LedgerAccountApi' do
  before do
    # run before each test
    @instance = Tatum::LedgerAccountApi.new
  end

  after do
    # run after each test
  end

  describe 'test an instance of LedgerAccountApi' do
    it 'should create an instance of LedgerAccountApi' do
      expect(@instance).to be_instance_of(Tatum::LedgerAccountApi)
    end
  end

  # unit tests for activate_account
  # Activate account
  # &lt;h4&gt;2 credits per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Activates an account.&lt;/p&gt;
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [nil]
  describe 'activate_account test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for block_amount
  # Block an amount in an account
  # &lt;h4&gt;2 credits per API call.&lt;/h4&gt;&lt;br/&gt; &lt;p&gt;Blocks an amount in an account. Any number of distinct amounts can be blocked in one account. Every new blockage has its own distinct ID, which is used as a reference. When the amount is blocked, it is debited from the available balance of the account. The account balance remains the same. The account balance represents the total amount of funds in the account. The available balance represents the total amount of funds that can be used to perform transactions. When an account is frozen, the available balance is set to 0 minus all blockages for the account.&lt;/p&gt; 
  # @param body 
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [Id]
  describe 'block_amount test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for create_account
  # Create new account
  # &lt;h4&gt;2 credits per API call.&lt;/h4&gt;&lt;br/&gt; &lt;p&gt;Creates a new account for the customer. This will create an account on Tatum Private Ledger. It is possible to create an account for every supported cryptocurrency, FIAT, any ERC20 token created within a Tatum instance, and Tatum virtual currencies. When the customer field is already present, the account is added to the customer&#x27;s list of accounts. If the customer field is not present, a new customer is created along with the account.&lt;br/&gt; Every account has its own balance. Tatum supports 2 types of balances - accountBalance and availableBalance. The account balance represents all assets in the account, both available and blocked. The available balance in the account represents account balance minus the blocked amount in the account. The available balance should be used to determine how much a customer can send or withdraw from the account.&lt;br/&gt; An account is always created with a specific currency. Once the currency is set, it cannot be changed.&lt;br/&gt; When an account&#x27;s currency is blockchain-based, like BTC or ETH, the account is usually created with xpub. Xpub represents an extended public key of the blockchain wallet, which will be connected to this account. Adding xpub to the account does not connect any specific blockchain address to this account. Xpub is just a generator of addresses, not an address itself. Every blockchain has different types of xpubs: &lt;ul&gt; &lt;li&gt;&lt;b&gt;BTC&lt;/b&gt; - xpub can be obtained from &lt;a href&#x3D;\&quot;#operation/BtcGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;LTC&lt;/b&gt; - xpub can be obtained from &lt;a href&#x3D;\&quot;#operation/LtcGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;DOGE&lt;/b&gt; - xpub can be obtained from &lt;a href&#x3D;\&quot;#operation/DogeGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;BCH&lt;/b&gt; - xpub can be obtained from &lt;a href&#x3D;\&quot;#operation/BchGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;ADA&lt;/b&gt; - xpub can be obtained from &lt;a href&#x3D;\&quot;#operation/AdaGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;ETH and ERC20&lt;/b&gt; - xpub can be obtained from &lt;a href&#x3D;\&quot;#operation/EthGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;XRP&lt;/b&gt; - xpub is the address field from &lt;a href&#x3D;\&quot;#operation/XrpWallet\&quot;&gt;generate account&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;XLM&lt;/b&gt; - xpub is the address field from &lt;a href&#x3D;\&quot;#operation/XlmWallet\&quot;&gt;generate account&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;BNB&lt;/b&gt; - xpub is the address field from &lt;a href&#x3D;\&quot;#operation/BnbGenerateWallet\&quot;&gt;generate account&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;BSC&lt;/b&gt; - xpub is the address field from &lt;a href&#x3D;\&quot;#operation/BscGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;EGLD&lt;/b&gt; - no xpub, use mnemonic for the address field from &lt;a href&#x3D;\&quot;#operation/EgldGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;ALGO&lt;/b&gt; - no xpub, use mnemonic for the address field from &lt;a href&#x3D;\&quot;#operation/AlgoGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;MATIC&lt;/b&gt; - xpub is the address field from &lt;a href&#x3D;\&quot;#operation/PolygonGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;KCS&lt;/b&gt; - xpub is the address field from &lt;a href&#x3D;\&quot;#operation/KcsGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;CELO, cEUR, cUSD and ERC20&lt;/b&gt; - xpub is the address field from &lt;a href&#x3D;\&quot;#operation/CeloGenerateWallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;TRON and TRC tokens&lt;/b&gt; - xpub can be obtained from &lt;a href&#x3D;\&quot;#operation/GenerateTronwallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;b&gt;FLOW and FUSD&lt;/b&gt; - xpub can be obtained from &lt;a href&#x3D;\&quot;#operation/GenerateFlowwallet\&quot;&gt;generate wallet&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; There are 2 options for connecting an account to a blockchain: &lt;ul&gt; &lt;li&gt;If xpub is present in the account, addresses are generated for the account via &lt;a href&#x3D;\&quot;#operation/generateDepositAddress\&quot;&gt;Create new deposit address&lt;/a&gt;. This is the preferred mechanism.&lt;/li&gt; &lt;li&gt;If xpub is not present in the account, addresses for this account are assigned manually via &lt;a href&#x3D;\&quot;#operation/assignAddress\&quot;&gt;Assign address&lt;/a&gt;. This feature is used when there are already existing addresses to be used in Tatum.&lt;/li&gt; &lt;/ul&gt;&lt;/p&gt; 
  # @param body 
  # @param [Hash] opts the optional parameters
  # @return [Account]
  describe 'create_account test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for create_account_batch
  # Create multiple accounts in a batch call
  # &lt;h4&gt;2 credits per API call + 1 credit for every account created.&lt;/h4&gt;&lt;br/&gt; &lt;p&gt;Creates new accounts for the customer in a batch call.&lt;/p&gt; 
  # @param body 
  # @param [Hash] opts the optional parameters
  # @return [Array<Account>]
  describe 'create_account_batch test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for deactivate_account
  # Deactivate account
  # &lt;h4&gt;2 credits per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Deactivates an account. Only accounts with account and available balances of zero can be deactivated. Deactivated accounts are not visible in the list of accounts, it is not possible to send funds to these accounts or perform transactions. However, they are still present in the ledger and all transaction histories.&lt;/p&gt;
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [nil]
  describe 'deactivate_account test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for delete_all_block_amount
  # Unblock all blocked amounts in an account
  # &lt;h4&gt;1 credit per API call, 1 credit for each deleted blockage. 1 API call + 2 blockages  &#x3D; 3 credits.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Unblocks previously blocked amounts in an account. Increases the available balance in the account where the amount was blocked.&lt;/p&gt;
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [nil]
  describe 'delete_all_block_amount test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for delete_block_amount
  # Unblock a blocked amount in an account
  # &lt;h4&gt;1 credit per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Unblocks a previously blocked amount in an account. Increases the available balance in the account where the amount was blocked.&lt;/p&gt;
  # @param id Blockage ID
  # @param [Hash] opts the optional parameters
  # @return [nil]
  describe 'delete_block_amount test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for freeze_account
  # Freeze account
  # &lt;h4&gt;2 credits per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Disables all outgoing transactions. Incoming transactions to the account are available. When an account is frozen, its available balance is set to 0. This operation will create a new blockage of type ACCOUNT_FROZEN, which is automatically deleted when the account is unfrozen.&lt;/p&gt;
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [nil]
  describe 'freeze_account test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for get_account_balance
  # Get account balance
  # &lt;h4&gt;1 credit per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Get balance for the account.&lt;/p&gt;
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [AccountBalance]
  describe 'get_account_balance test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for get_account_by_account_id
  # Get account by ID
  # &lt;h4&gt;1 credit per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Gets active account by ID. Displays all information regarding the given account.&lt;/p&gt;
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [Account]
  describe 'get_account_by_account_id test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for get_accounts_by_customer_id
  # List all customer accounts
  # &lt;h4&gt;1 credit per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Lists all accounts associated with a customer. Only active accounts are visible.&lt;/p&gt;
  # @param page_size Max number of items per page is 50.
  # @param id Internal customer ID
  # @param [Hash] opts the optional parameters
  # @option opts [BigDecimal] :offset Offset to obtain the next page of data.
  # @option opts [String] :account_code For bookkeeping to distinct account purpose.
  # @return [Array<Account>]
  describe 'get_accounts_by_customer_id test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for get_all_accounts
  # List all accounts
  # &lt;h4&gt;1 credit per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Lists all accounts. Inactive accounts are also visible.&lt;/p&gt;
  # @param page_size Max number of items per page is 50.
  # @param [Hash] opts the optional parameters
  # @option opts [BigDecimal] :offset Offset to obtain the next page of data.
  # @option opts [String] :account_code For bookkeeping to distinct account purpose.
  # @return [Array<Account>]
  describe 'get_all_accounts test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for get_block_amount
  # Get blocked amounts in an account
  # &lt;h4&gt;1 credit per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Gets blocked amounts for an account.&lt;/p&gt;
  # @param id Account ID
  # @param page_size Max number of items per page is 50.
  # @param [Hash] opts the optional parameters
  # @option opts [BigDecimal] :offset Offset to obtain the next page of data.
  # @return [Array<Blockage>]
  describe 'get_block_amount test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for get_block_amount_by_id
  # Get blocked amount by ID
  # &lt;h4&gt;1 credit per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Gets blocked amount by id.&lt;/p&gt;
  # @param id Blocked amount ID
  # @param [Hash] opts the optional parameters
  # @return [Blockage]
  describe 'get_block_amount_by_id test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for unblock_amount_with_transaction
  # Unblock an amount in an account and perform a transaction
  # &lt;h4&gt;2 credits per API call.&lt;/h4&gt;&lt;br/&gt; &lt;p&gt;Unblocks a previously blocked amount in an account and invokes a ledger transaction from that account to a different recipient. If the request fails, the amount is not unblocked.&lt;/p&gt; 
  # @param body 
  # @param id Blockage ID
  # @param [Hash] opts the optional parameters
  # @return [TransactionResult]
  describe 'unblock_amount_with_transaction test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for unfreeze_account
  # Unfreeze account
  # &lt;h4&gt;2 credits per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Unfreezes a previously frozen account. Unfreezing a non-frozen account not affect the account.&lt;/p&gt;
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [nil]
  describe 'unfreeze_account test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

  # unit tests for update_account_by_account_id
  # Update account
  # &lt;h4&gt;2 credits per API call.&lt;/h4&gt;&lt;br/&gt;&lt;p&gt;Update account by ID. Only a small number of fields can be updated.&lt;/p&gt;
  # @param body 
  # @param id Account ID
  # @param [Hash] opts the optional parameters
  # @return [nil]
  describe 'update_account_by_account_id test' do
    it 'should work' do
      # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
    end
  end

end
