48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using ESuite.UI.E2E.Helpers;
|
|
|
|
namespace ESuite.UI.E2E.Hooks
|
|
{
|
|
|
|
[Binding]
|
|
public class ScenarioHooks
|
|
{
|
|
private readonly ScenarioContext _scenarioContext;
|
|
private readonly APIHelper _apiHelper;
|
|
|
|
public ScenarioHooks(ScenarioContext scenarioContext)
|
|
{
|
|
_scenarioContext = scenarioContext;
|
|
_apiHelper = new APIHelper(_scenarioContext);
|
|
|
|
}
|
|
|
|
[BeforeScenario(Order = 2)]
|
|
public void SetGUIDs()
|
|
{
|
|
string uniqueGuid = Guid.NewGuid().ToString().TrimStart('{').TrimEnd('}');
|
|
_scenarioContext["GUID"] = uniqueGuid;
|
|
_scenarioContext["GUIDPrefix"] = $"{uniqueGuid}-";
|
|
_scenarioContext["GUIDPostfix"] = $"-{uniqueGuid}";
|
|
}
|
|
|
|
[BeforeScenario]
|
|
public void CleanAuthToken()
|
|
{
|
|
_apiHelper.ClearAuthToken();
|
|
}
|
|
|
|
[BeforeStep]
|
|
[AfterStep]
|
|
public static void RetryFailedStep(ScenarioContext scenarioContext)
|
|
{
|
|
if (scenarioContext.TestError != null)
|
|
{
|
|
RetryHelper.Retry(() =>
|
|
{
|
|
Console.WriteLine("Retrying failed step...");
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|