expect_json/expects/
serialize_expect_op.rs

1use crate::expects::ops::ArrayContains;
2use crate::expects::ops::StringContains;
3use crate::internals::Context;
4use crate::internals::JsonExpectOp;
5use crate::internals::JsonValueEqResult;
6use serde::Deserialize;
7use serde::Serialize;
8use serde_json::Value;
9use strum::IntoStaticStr;
10
11#[derive(Clone, Debug, Serialize, Deserialize, IntoStaticStr)]
12#[serde(tag = "type")]
13pub enum SerializeExpectOp {
14    ArrayContains(ArrayContains),
15    StringContains(StringContains),
16}
17
18impl SerializeExpectOp {
19    pub fn on_any<'a>(
20        self,
21        context: &mut Context<'a>,
22        received: &'a Value,
23    ) -> JsonValueEqResult<()> {
24        match self {
25            Self::ArrayContains(inner) => inner.on_any(context, received),
26            Self::StringContains(inner) => inner.on_any(context, received),
27        }
28    }
29}