using LightBDD.Framework; using LightBDD.Framework.Scenarios; using LightBDD.MsTest3; namespace PlanTempus.X.BDD.Scenarios; [TestClass] public partial class AccountSecuritySpecs : FeatureFixtures.AccountSecuritySpecs { [Scenario] [TestMethod] public async Task User_lockout_after_multiple_failed_attempts() { await Runner.RunScenarioAsync( _ => Given_user_exists("test@example.com"), _ => When_I_attempt_5_failed_logins_within_5_minutes(), _ => Then_the_account_should_be_locked(), _ => And_lockout_end_should_be_set(), _ => And_subsequent_login_attempts_should_fail_until_lockout_end() ); } }