Skip to content

Commit

Permalink
reorg transactions and scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuahannan committed Apr 3, 2024
1 parent 74687e7 commit 9f3d6be
Show file tree
Hide file tree
Showing 21 changed files with 324 additions and 340 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
test:
$(MAKE) generate -C lib/go
$(MAKE) test -C lib/go
flow-c1 test --cover --covercode="contracts" tests/test_*.cdc
flow-c1 test --cover --covercode="contracts" tests/*.cdc

.PHONY: ci
ci:
$(MAKE) ci -C lib/go
flow-c1 test --cover --covercode="contracts" tests/test_*.cdc
flow-c1 test --cover --covercode="contracts" tests/*.cdc
379 changes: 200 additions & 179 deletions lib/go/templates/internal/assets/assets.go

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions lib/go/templates/script_templates.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ import (
)

const (
filenameBorrowNFT = "scripts/borrow_nft.cdc"
filenameGetCollectionLength = "scripts/get_collection_length.cdc"
filenameGetCollectionIDs = "scripts/get_collection_ids.cdc"
filenameGetTotalSupply = "scripts/get_total_supply.cdc"
filenameGetNFTMetadata = "scripts/get_nft_metadata.cdc"
filenameGetNFTView = "scripts/get_nft_view.cdc"
filenameBorrowNFT = "transactions/scripts/borrow_nft.cdc"
filenameGetCollectionLength = "transactions/scripts/get_collection_length.cdc"
filenameGetCollectionIDs = "transactions/scripts/get_collection_ids.cdc"
filenameGetTotalSupply = "transactions/scripts/get_total_supply.cdc"
filenameGetNFTMetadata = "transactions/scripts/get_nft_metadata.cdc"
filenameGetNFTView = "transactions/scripts/get_nft_view.cdc"
)

// GenerateBorrowNFTScript creates a script that retrieves an NFT collection
Expand Down
2 changes: 1 addition & 1 deletion lib/go/templates/templates.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"github.com/onflow/flow-go-sdk"
)

//go:generate go run github.com/kevinburke/go-bindata/go-bindata -prefix ../../../ -o internal/assets/assets.go -pkg assets -nometadata -nomemcopy ../../../scripts/... ../../../transactions/...
//go:generate go run github.com/kevinburke/go-bindata/go-bindata -prefix ../../../ -o internal/assets/assets.go -pkg assets -nometadata -nomemcopy ../../../transactions/...

var (
placeholderNonFungibleTokenString = "\"NonFungibleToken\""
Expand Down
6 changes: 0 additions & 6 deletions lib/go/templates/transaction_templates.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
)

const (
filenameUpgradeNFT = "transactions/test/upgrade_nft_contract.cdc"
filenameSetupAccount = "transactions/setup_account.cdc"
filenameSetupFromAddress = "transactions/setup_account_from_address.cdc"
filenameMintNFT = "transactions/mint_nft.cdc"
Expand All @@ -23,11 +22,6 @@ const (
filenameSetupAccountFromNftReference = "transactions/setup_account_from_nft_reference.cdc"
)

func GenerateUpgradeNFTContract() []byte {
code := assets.MustAssetString(filenameUpgradeNFT)
return replaceAddresses(code, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress)
}

// GenerateSetupAccountScript returns a script that instantiates a new
// NFT collection instance, saves the collection in storage, then stores a
// reference to the collection.
Expand Down
211 changes: 96 additions & 115 deletions tests/test_example_nft.cdc → tests/example_nft_test.cdc
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ fun testSetupAccount() {
Test.expect(txResult, Test.beSucceeded())

var scriptResult = executeScript(
"../scripts/get_collection_length.cdc",
"../transactions/scripts/get_collection_length.cdc",
[admin.address]
)
Test.expect(scriptResult, Test.beSucceeded())
Expand All @@ -44,7 +44,7 @@ fun testSetupAccount() {
Test.expect(txResult, Test.beSucceeded())

scriptResult = executeScript(
"../scripts/get_collection_length.cdc",
"../transactions/scripts/get_collection_length.cdc",
[newAccount.address]
)
Test.expect(scriptResult, Test.beSucceeded())
Expand Down Expand Up @@ -85,7 +85,7 @@ fun testMintNFT() {
Test.assertEqual(recipient.address, depositEvent.to!)

let scriptResult = executeScript(
"../scripts/get_collection_ids.cdc",
"../transactions/scripts/get_collection_ids.cdc",
[
recipient.address,
/public/exampleNFTCollection
Expand All @@ -100,7 +100,7 @@ fun testMintNFT() {
access(all)
fun testTransferNFT() {
var scriptResult = executeScript(
"../scripts/get_collection_ids.cdc",
"../transactions/scripts/get_collection_ids.cdc",
[
recipient.address,
/public/exampleNFTCollection
Expand Down Expand Up @@ -141,7 +141,7 @@ fun testTransferNFT() {
Test.assertEqual(admin.address, depositEvent.to!)

scriptResult = executeScript(
"../scripts/get_collection_ids.cdc",
"../transactions/scripts/get_collection_ids.cdc",
[
admin.address,
/public/exampleNFTCollection
Expand Down Expand Up @@ -199,7 +199,7 @@ fun testTransferMissingNFT() {
access(all)
fun testBorrowNFT() {
var scriptResult = executeScript(
"../scripts/get_collection_ids.cdc",
"../transactions/scripts/get_collection_ids.cdc",
[
admin.address,
/public/exampleNFTCollection
Expand All @@ -210,7 +210,7 @@ fun testBorrowNFT() {
let collectionIDs = scriptResult.returnValue! as! [UInt64]

scriptResult = executeScript(
"../scripts/borrow_nft.cdc",
"../transactions/scripts/borrow_nft.cdc",
[
admin.address,
collectionIDs[0]
Expand All @@ -222,7 +222,7 @@ fun testBorrowNFT() {
access(all)
fun testBorrowMissingNFT() {
let scriptResult = executeScript(
"../scripts/borrow_nft.cdc",
"../transactions/scripts/borrow_nft.cdc",
[
admin.address,
10 as UInt64
Expand All @@ -238,7 +238,7 @@ fun testBorrowMissingNFT() {
access(all)
fun testGetCollectionLength() {
let scriptResult = executeScript(
"../scripts/get_collection_length.cdc",
"../transactions/scripts/get_collection_length.cdc",
[admin.address]
)
Test.expect(scriptResult, Test.beSucceeded())
Expand All @@ -250,7 +250,7 @@ fun testGetCollectionLength() {
access(all)
fun testGetContractStoragePath() {
let scriptResult = executeScript(
"../scripts/get_contract_storage_path.cdc",
"../transactions/scripts/get_contract_storage_path.cdc",
[
admin.address,
"ExampleNFT"
Expand All @@ -265,7 +265,7 @@ fun testGetContractStoragePath() {
access(all)
fun testGetMissingContractStoragePath() {
let scriptResult = executeScript(
"../scripts/get_contract_storage_path.cdc",
"../transactions/scripts/get_contract_storage_path.cdc",
[
admin.address,
"ContractOne"
Expand All @@ -279,9 +279,9 @@ fun testGetMissingContractStoragePath() {
}

access(all)
fun testGetNFTMetadata() {
fun testGetNFTView() {
var scriptResult = executeScript(
"../scripts/get_collection_ids.cdc",
"../transactions/scripts/get_collection_ids.cdc",
[
admin.address,
/public/exampleNFTCollection
Expand All @@ -290,108 +290,89 @@ fun testGetNFTMetadata() {
Test.expect(scriptResult, Test.beSucceeded())
let collectionIDs = scriptResult.returnValue! as! [UInt64]

// scriptResult = executeScript(
// "../scripts/get_nft_metadata.cdc",
// [
// admin.address,
// collectionIDs[0]
// ]
// )
scriptResult = executeScript(
"scripts/get_nft_view.cdc",
[
admin.address,
collectionIDs[0]
]
)
Test.expect(scriptResult, Test.beSucceeded())
}

access(all)
fun testGetMissingNFTView() {
let scriptResult = executeScript(
"scripts/get_nft_view.cdc",
[
admin.address,
10 as UInt64
]
)

Test.expect(scriptResult, Test.beFailed())
Test.assertError(
scriptResult,
errorMessage: "unexpectedly found nil while forcing an Optional value"
)
}

access(all)
fun testGetViews() {
var scriptResult = executeScript(
"../transactions/scripts/get_collection_ids.cdc",
[
admin.address,
/public/exampleNFTCollection
]
)
Test.expect(scriptResult, Test.beSucceeded())
let collectionIDs = scriptResult.returnValue! as! [UInt64]

scriptResult = executeScript(
"../transactions/scripts/get_views.cdc",
[
admin.address,
collectionIDs[0]
]
)
Test.expect(scriptResult, Test.beSucceeded())

// Test.expect(scriptResult, Test.beSucceeded())
let supportedViews = scriptResult.returnValue! as! [Type]
let expectedViews = [
Type<MetadataViews.Display>(),
Type<MetadataViews.Royalties>(),
Type<MetadataViews.Editions>(),
Type<MetadataViews.ExternalURL>(),
Type<MetadataViews.NFTCollectionData>(),
Type<MetadataViews.NFTCollectionDisplay>(),
Type<MetadataViews.Serial>(),
Type<MetadataViews.Traits>()
]
Test.assertEqual(expectedViews, supportedViews)
}

// access(all)
// fun testGetMissingNFTMetadata() {
// let scriptResult = executeScript(
// "../scripts/get_nft_metadata.cdc",
// [
// admin.address,
// 10 as UInt64
// ]
// )
// Test.expect(scriptResult, Test.beFailed())
// Test.assertError(
// scriptResult,
// errorMessage: "unexpectedly found nil while forcing an Optional value"
// )
// }
// access(all)
// fun testGetNFTView() {
// let scriptResult = executeScript(
// "scripts/get_nft_view.cdc",
// [
// admin.address,
// collectionIDs[0]
// ]
// )
// Test.expect(scriptResult, Test.beSucceeded())
// }
// access(all)
// fun testGetMissingNFTView() {
// let scriptResult = executeScript(
// "scripts/get_nft_view.cdc",
// [
// admin.address,
// 10 as UInt64
// ]
// )
// Test.expect(scriptResult, Test.beFailed())
// Test.assertError(
// scriptResult,
// errorMessage: "unexpectedly found nil while forcing an Optional value"
// )
// }
// access(all)
// fun testGetViews() {
// let scriptResult = executeScript(
// "scripts/get_views.cdc",
// [
// admin.address,
// 0 as UInt64
// ]
// )
// Test.expect(scriptResult, Test.beSucceeded())
// let supportedViews = scriptResult.returnValue! as! [Type]
// let expectedViews = [
// Type<MetadataViews.Display>(),
// Type<MetadataViews.Royalties>(),
// Type<MetadataViews.Editions>(),
// Type<MetadataViews.ExternalURL>(),
// Type<MetadataViews.NFTCollectionData>(),
// Type<MetadataViews.NFTCollectionDisplay>(),
// Type<MetadataViews.Serial>(),
// Type<MetadataViews.Traits>()
// ]
// Test.assertEqual(expectedViews, supportedViews)
// }
// access(all)
// fun testGetExampleNFTViews() {
// let scriptResult = executeScript(
// "scripts/get_example_nft_views.cdc",
// []
// )
// Test.expect(scriptResult, Test.beSucceeded())
// let supportedViews = scriptResult.returnValue! as! [Type]
// let expectedViews = [
// Type<MetadataViews.NFTCollectionData>(),
// Type<MetadataViews.NFTCollectionDisplay>()
// ]
// Test.assertEqual(expectedViews, supportedViews)
// }
// access(all)
// fun testResolveExampleNFTViews() {
// let scriptResult = executeScript(
// "scripts/resolve_nft_views.cdc",
// []
// )
// Test.expect(scriptResult, Test.beSucceeded())
// }
access(all)
fun testGetExampleNFTViews() {
let scriptResult = executeScript(
"../transactions/scripts/get_contract_views.cdc",
[]
)
Test.expect(scriptResult, Test.beSucceeded())

let supportedViews = scriptResult.returnValue! as! [Type]
let expectedViews = [
Type<MetadataViews.NFTCollectionData>(),
Type<MetadataViews.NFTCollectionDisplay>()
]
Test.assertEqual(expectedViews, supportedViews)
}

access(all)
fun testResolveExampleNFTViews() {
let scriptResult = executeScript(
"scripts/resolve_nft_views.cdc",
[]
)
Test.expect(scriptResult, Test.beSucceeded())
}
File renamed without changes.
Loading

0 comments on commit 9f3d6be

Please sign in to comment.