1use crate::{create_smart_contract, Contract};
4use anyhow::Result;
5use std::{
6 fs::{copy, create_dir},
7 path::Path,
8};
9
10pub fn new_environment(name: &str) -> Result<tempfile::TempDir> {
14 let temp_dir = tempfile::tempdir().expect("Could not create temp dir");
15 let temp_contract_dir = temp_dir.path().join(name);
16 create_dir(&temp_contract_dir)?;
17 create_smart_contract(name, temp_contract_dir.as_path(), &Contract::Standard)?;
18 Ok(temp_dir)
19}
20
21pub fn mock_build_process<P>(temp_contract_dir: P, contract_file: P, metadata_file: P) -> Result<()>
28where
29 P: AsRef<Path>,
30{
31 let target_contract_dir = temp_contract_dir.as_ref().join("target");
33 create_dir(&target_contract_dir)?;
34 create_dir(target_contract_dir.join("ink"))?;
35 copy(contract_file, target_contract_dir.join("ink/testing.contract"))?;
37 copy(metadata_file, target_contract_dir.join("ink/testing.json"))?;
38 Ok(())
39}