UNPKG

@onflow/flow-js-testing

Version:

This package will expose a set of utility methods, to allow Cadence code testing with libraries like Jest

53 lines (44 loc) 1.61 kB
/* * Flow JS Testing * * Copyright 2020-2021 Dapper Labs, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import registry from "./generated" import {defaultsByName} from "./file" const FlowTokenMap = { ExampleToken: defaultsByName.FlowToken, FungibleTokenMetadataViews: defaultsByName.FungibleTokenMetadataViews, } const lowerFirst = name => { return name[0].toLowerCase() + name.slice(1) } export const makeMintTransaction = async name => { let code = await registry.transactions.mintTokensTemplate(FlowTokenMap) const pattern = /(ExampleToken)/gi const aspPattern = /ExampleToken.AdminStoragePath/gi if (name === "FlowToken") { code = code.replace(aspPattern, "/storage/flowTokenAdmin") } return code.replace(pattern, match => { return match === "ExampleToken" ? name : lowerFirst(name) }) } export const makeGetBalance = async name => { const code = await registry.scripts.getBalanceTemplate(FlowTokenMap) const pattern = /(ExampleToken)/gi return code.replace(pattern, match => { return match === "ExampleToken" ? name : lowerFirst(name) }) }