From 75ae98430b329cf170a2a5ff1f2cab6de82279af Mon Sep 17 00:00:00 2001 From: Jonas Kruckenberg Date: Tue, 1 Nov 2022 16:38:42 +0100 Subject: [PATCH] add testing setup --- tests/web.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/web.rs diff --git a/tests/web.rs b/tests/web.rs new file mode 100644 index 0000000..89cb87f --- /dev/null +++ b/tests/web.rs @@ -0,0 +1,34 @@ +use serde::Deserialize; +use serde::Serialize; +use tauri_sys::{mocks::mock_ipc, tauri}; +use wasm_bindgen::JsError; +use wasm_bindgen_test::wasm_bindgen_test; +use wasm_bindgen_test::wasm_bindgen_test_configure; + +fn main() { + wasm_bindgen_test_configure!(run_in_browser); +} + +#[wasm_bindgen_test] +async fn testinvoke() -> Result<(), Box> { + #[derive(Serialize, Deserialize)] + struct AddPayload { + a: u32, + b: u32, + } + + mock_ipc(|cmd, payload| match cmd.as_str() { + "add" => { + let args: AddPayload = serde_wasm_bindgen::from_value(payload).unwrap(); + + Ok(args.a + args.b) + } + _ => Err(JsError::new("Unknown command")), + }); + + let out = tauri::invoke::<_, u32>("add", &AddPayload { a: 12, b: 15 }).await?; + + assert_eq!(out, 27); + + Ok(()) +}