Skip to content

Commit

Permalink
Update test json url and add serialization test
Browse files Browse the repository at this point in the history
  • Loading branch information
theref committed Jul 31, 2024
1 parent 9b605d8 commit bd57d9f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
20 changes: 20 additions & 0 deletions packages/taco/test/conditions/condition-expr.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
ContractCondition,
ContractConditionProps,
} from '../../src/conditions/base/contract';
import { JsonApiCondition } from '../../src/conditions/base/json-api';
import { RpcCondition, RpcConditionType } from '../../src/conditions/base/rpc';
import {
TimeCondition,
Expand All @@ -20,6 +21,7 @@ import { ERC721Balance } from '../../src/conditions/predefined/erc721';
import {
testContractConditionObj,
testFunctionAbi,
testJsonApiConditionObj,
testReturnValueTest,
testRpcConditionObj,
testTimeConditionObj,
Expand Down Expand Up @@ -56,6 +58,7 @@ describe('condition set', () => {

const rpcCondition = new RpcCondition(testRpcConditionObj);
const timeCondition = new TimeCondition(testTimeConditionObj);
const jsonApiCondition = new JsonApiCondition(testJsonApiConditionObj);
const compoundCondition = new CompoundCondition({
operator: 'and',
operands: [
Expand Down Expand Up @@ -401,6 +404,23 @@ describe('condition set', () => {
expect(conditionExprFromJson.condition).toBeInstanceOf(RpcCondition);
});

it('json api condition serialization', () => {
const conditionExpr = new ConditionExpression(jsonApiCondition);

const conditionExprJson = conditionExpr.toJson();
expect(conditionExprJson).toBeDefined();
expect(conditionExprJson).toContain('endpoint');
expect(conditionExprJson).toContain('https://_this_would_totally_fail.com');
expect(conditionExprJson).toContain('parameters');
expect(conditionExprJson).toContain('query');
expect(conditionExprJson).toContain('$.ethereum.usd');
expect(conditionExprJson).toContain('returnValueTest');

const conditionExprFromJson = ConditionExpression.fromJSON(conditionExprJson);
expect(conditionExprFromJson).toBeDefined();
expect(conditionExprFromJson.condition).toBeInstanceOf(JsonApiCondition);
});

it('compound condition serialization', () => {
const conditionExpr = new ConditionExpression(compoundCondition);
const compoundConditionObj = compoundCondition.toObj();
Expand Down
2 changes: 1 addition & 1 deletion packages/taco/test/test-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ export const testTimeConditionObj: TimeConditionProps = {

export const testJsonApiConditionObj = {
conditionType: JsonApiConditionType,
endpoint: 'https://api.coingecko.com/api/v3/simple/price',
endpoint: 'https://_this_would_totally_fail.com',
parameters: {
'ids': 'ethereum',
'vs_currencies': 'usd',
Expand Down

0 comments on commit bd57d9f

Please sign in to comment.