Skip to content

Commit ccceee5

Browse files
committed
Decrease duplication slightly
1 parent b5d33b2 commit ccceee5

File tree

1 file changed

+47
-33
lines changed

1 file changed

+47
-33
lines changed

farm/tests/src/lib.rs

+47-33
Original file line numberDiff line numberDiff line change
@@ -115,26 +115,49 @@ mod tests {
115115
session.sandbox().set_timestamp(timestamp);
116116
}
117117

118+
/// Returns farm details.
119+
fn get_farm_details(session: &mut Session<MinimalRuntime>, farm: &Farm) -> farm::FarmDetails {
120+
session
121+
.query(farm.view_farm_details())
122+
.unwrap()
123+
.result
124+
.unwrap()
125+
}
126+
127+
/// Starts a farm with given start and end timestamps and rewards.
128+
fn setup_farm_start(
129+
session: &mut Session<MinimalRuntime>,
130+
farm: &Farm,
131+
start: u64,
132+
end: u64,
133+
rewards: Vec<u128>,
134+
caller: drink::AccountId32,
135+
) -> Result<()> {
136+
let _ = session.set_actor(caller);
137+
138+
session
139+
.execute(farm.owner_start_new_farm(start, end, rewards))
140+
.unwrap()
141+
.result
142+
.unwrap()
143+
.unwrap();
144+
145+
Ok(())
146+
}
147+
148+
const ICE: &str = "ICE";
149+
const WOOD: &str = "WOOD";
150+
const SAND: &str = "SAND";
151+
118152
#[test]
119153
fn farm_start() {
120154
let mut session: Session<MinimalRuntime> = Session::new().expect("Init new Session");
121155

122-
let ice = {
123-
let ice = "ICE".to_string();
124-
setup_psp22(&mut session, ice.clone(), ice.clone(), BOB)
125-
};
156+
let ice = setup_psp22(&mut session, ICE.to_string(), ICE.to_string(), BOB);
126157

127-
let wood = {
128-
let wood = "WOOD".to_string();
129-
setup_psp22(&mut session, wood.clone(), wood.clone(), BOB)
130-
};
131-
132-
let sand = {
133-
let sand = "SAND".to_string();
134-
setup_psp22(&mut session, sand.clone(), sand.clone(), BOB)
135-
};
158+
let wood = { setup_psp22(&mut session, WOOD.to_string(), WOOD.to_string(), BOB) };
136159

137-
let _farm_code_hash = session.upload_code(farm::upload()).unwrap();
160+
let sand = { setup_psp22(&mut session, SAND.to_string(), SAND.to_string(), BOB) };
138161

139162
let farm = setup_farm(
140163
&mut session,
@@ -143,11 +166,7 @@ mod tests {
143166
BOB,
144167
);
145168

146-
let farm_details: farm::FarmDetails = session
147-
.query(farm.view_farm_details())
148-
.unwrap()
149-
.result
150-
.unwrap();
169+
let farm_details: farm::FarmDetails = get_farm_details(&mut session, &farm);
151170

152171
let expected_details = farm::FarmDetails {
153172
pool_id: ice.into(),
@@ -189,15 +208,14 @@ mod tests {
189208
let farm_wood_balance_before = balance_of(&mut session, wood.into(), farm.into());
190209
let farm_sand_balance_before = balance_of(&mut session, sand.into(), farm.into());
191210

192-
let call_result = session
193-
.execute(farm.owner_start_new_farm(
194-
farm_start,
195-
farm_end,
196-
vec![rewards_amount, rewards_amount],
197-
))
198-
.unwrap()
199-
.result
200-
.unwrap();
211+
let call_result = setup_farm_start(
212+
&mut session,
213+
&farm,
214+
farm_start,
215+
farm_end,
216+
vec![rewards_amount, rewards_amount],
217+
BOB,
218+
);
201219

202220
assert!(call_result.is_ok());
203221

@@ -209,11 +227,7 @@ mod tests {
209227
end: farm_end,
210228
};
211229

212-
let farm_details: farm::FarmDetails = session
213-
.query(farm.view_farm_details())
214-
.unwrap()
215-
.result
216-
.unwrap();
230+
let farm_details: farm::FarmDetails = get_farm_details(&mut session, &farm);
217231

218232
assert!(farm_details == expected_details);
219233

0 commit comments

Comments
 (0)