dotnet-dynamic-query/PoweredSoft.DynamicQuery.Test/Mock/MockContextFactory.cs
2018-12-06 23:08:16 -06:00

28 lines
880 B
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine.ClientProtocol;
using Xunit.Sdk;
namespace PoweredSoft.DynamicQuery.Test.Mock
{
public static class MockContextFactory
{
public static void TestContextFor(string testName, Action<MockContext> action)
{
var options = new DbContextOptionsBuilder<MockContext>().UseInMemoryDatabase(databaseName: testName).Options;
using (var ctx = new MockContext(options))
action(ctx);
}
public static void SeedAndTestContextFor(string testName, Action<string> seedAction, Action<MockContext> action)
{
seedAction(testName);
TestContextFor(testName, action);
}
}
}