obws/tests/scenes.rs
2020-12-31 16:37:12 +09:00

65 lines
1.7 KiB
Rust

#![cfg(feature = "test-integration")]
use anyhow::Result;
use chrono::Duration;
use obws::requests::{SceneItem, SceneTransitionOverride};
use common::{TEST_SCENE, TEST_SCENE_2, TEST_TRANSITION, TEXT_SOURCE, TEXT_SOURCE_2};
mod common;
#[tokio::test]
async fn main() -> Result<()> {
let client = common::new_client().await?;
let client = client.scenes();
let original = client.get_current_scene().await?.name;
client.set_current_scene(TEST_SCENE_2).await?;
client.set_current_scene(&original).await?;
client.get_scene_list().await?;
client
.reorder_scene_items(
Some(TEST_SCENE),
&[
SceneItem {
id: None,
name: Some(TEXT_SOURCE_2),
},
SceneItem {
id: None,
name: Some(TEXT_SOURCE),
},
],
)
.await?;
client
.reorder_scene_items(
Some(TEST_SCENE),
&[
SceneItem {
id: None,
name: Some(TEXT_SOURCE),
},
SceneItem {
id: None,
name: Some(TEXT_SOURCE_2),
},
],
)
.await?;
client
.set_scene_transition_override(SceneTransitionOverride {
scene_name: TEST_SCENE,
transition_name: TEST_TRANSITION,
transition_duration: Some(Duration::milliseconds(10)),
})
.await?;
client.get_scene_transition_override(TEST_SCENE).await?;
client.remove_scene_transition_override(TEST_SCENE).await?;
Ok(())
}