Skip to content

Commit

Permalink
Fix "Testing with Rust / Writing Tests" example (#5539)
Browse files Browse the repository at this point in the history
## Description

The harnes.rs code that currently appears in the book seems to be out of
date (it doesn't compile).

The proposed code was copied from the [`sway-test-rs`
template](https://github.com/FuelLabs/sway/blob/1fee545237a53423a2c6828da95837d380fed5a6/templates/sway-test-rs/template/tests/harness.rs#L1-L36).

(The Sway tutorial is very good, BTW.)

## Checklist

- [ ] I have linked to any relevant issues.
- [ ] I have commented my code, particularly in hard-to-understand
areas.
- [ ] I have updated the documentation where relevant (API docs, the
reference, and the Sway book).
- [ ] I have added tests that prove my fix is effective or that my
feature works.
- [ ] I have added (or requested a maintainer to add) the necessary
`Breaking*` or `New Feature` labels where relevant.
- [ ] I have done my best to ensure that my PR adheres to [the Fuel Labs
Code Review
Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md).
- [ ] I have requested a review from the relevant team or maintainers.

---------

Co-authored-by: IGI-111 <[email protected]>
Co-authored-by: Sophie Dankel <[email protected]>
  • Loading branch information
3 people authored Sep 9, 2024
1 parent 507870a commit c55ad21
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions docs/book/src/testing/testing-with-rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,10 +180,13 @@ following:
```rust,ignore
use fuels::{prelude::*, types::ContractId};
// Load ABI from JSON
abigen!(TestContract, "out/debug/my-fuel-project-abi.json");
// Load abi from json
abigen!(Contract(
name = "MyContract",
abi = "out/debug/my-fuel-project-abi.json"
));
async fn get_contract_instance() -> (TestContract, ContractId) {
async fn get_contract_instance() -> (MyContract<WalletUnlocked>, ContractId) {
// Launch a local network and deploy the contract
let mut wallets = launch_custom_provider_and_get_wallets(
WalletsConfig::new(
Expand All @@ -192,8 +195,10 @@ async fn get_contract_instance() -> (TestContract, ContractId) {
Some(1_000_000_000), /* Amount per coin */
),
None,
None,
)
.await;
.await
.unwrap();
let wallet = wallets.pop().unwrap();
let id = Contract::load_from(
Expand All @@ -206,11 +211,11 @@ async fn get_contract_instance() -> (TestContract, ContractId) {
),
)
.unwrap()
.deploy(&wallet, TxParameters::default())
.deploy(&wallet, TxPolicies::default())
.await
.unwrap();
let instance = TestContract::new(id.to_string(), wallet);
let instance = MyContract::new(id.clone(), wallet);
(instance, id.into())
}
Expand Down

0 comments on commit c55ad21

Please sign in to comment.