Skip to content

Commit e835c5a

Browse files
committed
feat: add expectPrintEvent function
1 parent 56e5477 commit e835c5a

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

deno/index.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,10 @@ declare global {
390390
sender: String,
391391
assetId: String,
392392
): Object;
393+
expectPrintEvent(
394+
contract_identifier: string,
395+
value: string
396+
): Object;
393397
// Absence of test vectors at the moment - token field could present some challenges.
394398
// expectNonFungibleTokenTransferEvent(token: String, sender: String, recipient: String, assetId: String): Object;
395399
// expectNonFungibleTokenMintEvent(token: String, recipient: String, assetId: String): Object;
@@ -690,6 +694,36 @@ Array.prototype.expectFungibleTokenBurnEvent = function (
690694
throw new Error(`Unable to retrieve expected FungibleTokenBurnEvent`);
691695
};
692696

697+
Array.prototype.expectPrintEvent = function (
698+
contract_identifier: string,
699+
value: string
700+
) {
701+
for (let event of this) {
702+
try {
703+
let e: any = {};
704+
e["contract_identifier"] =
705+
event.contract_event.contract_identifier.expectPrincipal(
706+
contract_identifier
707+
);
708+
709+
if (event.contract_event.topic.endsWith("print")) {
710+
e["topic"] = event.contract_event.topic;
711+
} else {
712+
continue;
713+
}
714+
715+
if (event.contract_event.value.endsWith(value)) {
716+
e["value"] = event.contract_event.value;
717+
} else {
718+
continue;
719+
}
720+
return e;
721+
} catch (error) {
722+
continue;
723+
}
724+
}
725+
throw new Error(`Unable to retrieve expected PrintEvent`);
726+
};
693727
// Array.prototype.expectEvent = function(sel: (e: Object) => Object) {
694728
// for (let event of this) {
695729
// try {

0 commit comments

Comments
 (0)