spec/lib/stellar/operation_spec.rb in stellar-base-0.13.0 vs spec/lib/stellar/operation_spec.rb in stellar-base-0.14.0
- old
+ new
@@ -26,5 +26,32 @@
expect(op.body.manage_data_op!.data_value).to be_nil
expect{ op.to_xdr }.to_not raise_error
end
end
+
+describe Stellar::Operation, ".change_trust" do
+
+ let(:issuer) { Stellar::KeyPair.from_address("GDGU5OAPHNPU5UCLE5RDJHG7PXZFQYWKCFOEXSXNMR6KRQRI5T6XXCD7") }
+ let(:asset) { Stellar::Asset.alphanum4("USD", issuer) }
+
+ it "creates a ChangeTrustOp" do
+ op = Stellar::Operation.change_trust(line: [:alphanum4, "USD", issuer])
+ expect(op.body.value).to be_an_instance_of(Stellar::ChangeTrustOp)
+ expect(op.body.value.line).to eq(Stellar::Asset.alphanum4("USD", issuer))
+ expect(op.body.value.limit).to eq(9223372036854775807)
+ end
+
+ it "creates a ChangeTrustOp with limit" do
+ op = Stellar::Operation.change_trust(line: [:alphanum4, "USD", issuer], limit: 1234.75)
+ expect(op.body.value).to be_an_instance_of(Stellar::ChangeTrustOp)
+ expect(op.body.value.line).to eq(Stellar::Asset.alphanum4("USD", issuer))
+ expect(op.body.value.limit).to eq(12347500000)
+ end
+
+ it "throws ArgumentError for incorrect limit argument" do
+ expect {
+ Stellar::Operation.change_trust(line: [:alphanum4, "USD", issuer], limit: true)
+ }.to raise_error(ArgumentError)
+ end
+
+end
\ No newline at end of file