add tests for transaction behavior