Feature: Transactions

  Scenario: User deposit funds and it confirms, then performs a transaction
    Given a pending deposit @tx1 of 10000 USD/2 for @account1
    And update @tx1 set status to settled
    Then @account1 has balance of 10000 USD/2
    Given a new transaction
    And spend 1000 USD/2 from @account1
    And receive 1000 USD/2 in @account2
    When commit transaction @tx2 as settled
    Then @account1 has balance of 9000 USD/2
    Then @account2 has balance of 1000 USD/2

  Scenario: User deposit funds and transfer to other accounts
    Given a pending deposit @tx1 of 10000 USD/2 for @account1
    And update @tx1 set status to settled
    Then @account1 has balance of 10000 USD/2
    Given a new transaction
    And spend 1000 USD/2 from @account1
    And receive 999 USD/2 in @account2
    And receive 1 USD/2 in @account3
    When commit transaction @tx2 as settled
    Then @account1 has balance of 9000 USD/2
    Then @account2 has balance of 999 USD/2
    Then @account3 has balance of 1 USD/2