Some time ago #1955 has removed support the dry run support for staking extrinsics. Before that PR, you were able to dry run them and get a proper validation errors. Now all dry run calls on staking extrinsics return "success" per this line:
|
_ => Ok((Default::default(), Some(who.clone()), origin)), |