SAB-E02/TDD.DbTestHelpers/SpecFlow/FixtureSteps.cs
2021-04-06 18:04:43 +02:00

36 lines
1.2 KiB
C#

using System;
using System.Data.Entity;
using System.Diagnostics;
using TDD.DbTestHelpers.Helpers;
using TechTalk.SpecFlow;
namespace TDD.DbTestHelpers.SpecFlow
{
[Binding]
public class FixtureSteps
{
public static FileHelper Helper = new FileHelper();
public static string YamlFileName = "fixtures.yaml";
public static string YamlFolderName = "Fixtures";
public static DbContext Context = null;
public static Type FixtureModel = null;
[BeforeFeature("fixture")]
static public void BeforeFixtureFeature()
{
if (FixtureModel == null)
throw new ArgumentException("FixtureSteps.FixtureModel cannot be null. Please specify fixture model");
if (Context == null)
throw new ArgumentException("FixtureSteps.Context cannot be null. Please specify db context.");
Trace.WriteLine("Prepare DB and load fixtures");
Helper.ClearTables(FixtureModel, Context);
Helper.FillFixturesFileFiles(FixtureModel, Context, YamlFolderName, new[] {YamlFileName});
}
[AfterFeature("fixture")]
static public void AfterFixtureFeature()
{
Trace.WriteLine("Clear DB");
}
}
}