public void Check02DatabaseDataLinksOk() { using (var db = new SampleWebAppDb()) { //SETUP DataLayerInitialise.InitialiseThis(); var filepath = TestFileHelpers.GetTestFileFilePath("DbContentSimple.xml"); //ATTEMPT DataLayerInitialise.ResetDatabaseToTestData(db, filepath); //VERIFY var allPosts = db.Posts.Include(x => x.Blogger).Include(x => x.Tags).ToList(); allPosts[0].Blogger.Name.ShouldEqual("Fred Bloggs"); string.Join(",", allPosts[0].Tags.Select(x => x.Slug)).ShouldEqual("ugly,bad"); allPosts[1].Blogger.Name.ShouldEqual("Jon Smith"); string.Join(",", allPosts[1].Tags.Select(x => x.Slug)).ShouldEqual("good,ugly"); allPosts[2].Blogger.Name.ShouldEqual("Jon Smith"); string.Join(",", allPosts[2].Tags.Select(x => x.Slug)).ShouldEqual("bad"); db.PostTagGrades.Count().ShouldEqual(2); db.PostTagGrades.ToList().All(x => x.PostId == allPosts[0].PostId).ShouldEqual(true); string.Join(",", db.PostTagGrades.Include(x => x.TagPart).Select(x => x.TagPart.Slug)).ShouldEqual("bad,ugly"); } }
public void SetUpFixture() { using (var db = new SampleWebAppDb()) { DataLayerInitialise.InitialiseThis(false, true); DataLayerInitialise.ResetBlogs(db, TestDataSelection.Small); } }
public void SetUpFixture() { using (var db = new SampleWebAppDb()) { DataLayerInitialise.InitialiseThis(); var filepath = TestFileHelpers.GetTestFileFilePath("DbContentSimple.xml"); DataLayerInitialise.ResetDatabaseToTestData(db, filepath); } }
public void Check10FindDtoKeyBad() { using (var db = new SampleWebAppDb()) { //SETUP DataLayerInitialise.InitialiseThis(); //ATTEMPT var ex = Assert.Throws <InvalidOperationException>(() => db.GetKeyProperties <SimplePostDto>()); //VERIFY ex.Message.ShouldEqual("This method expects a entity class. Did you provide a DTO by mistake?"); } }
public void FixtureSetup() { //This remembers the SqlErrorTextDict _rememberDefaultSqlErrorTextDict = GenericServicesConfig.SqlErrorDict.Select(x => new KeyValuePair <int, string>(x.Key, x.Value)) .ToList(); GenericServicesConfig.ClearSqlHandlerDict(); using (var db = new SampleWebAppDb()) { DataLayerInitialise.InitialiseThis(); var filepath = TestFileHelpers.GetTestFileFilePath("DbContentSimple.xml"); DataLayerInitialise.ResetDatabaseToTestData(db, filepath); } }
public void Check05FindPostTagGradeKeyOk() { using (var db = new SampleWebAppDb()) { //SETUP DataLayerInitialise.InitialiseThis(); //ATTEMPT var keys = db.GetKeyProperties <PostTagGrade>(); //VERIFY keys.Count.ShouldEqual(2); keys.First().Name.ShouldEqual("PostId"); keys.Last().Name.ShouldEqual("TagId"); } }
public void Check11BlogsResetMediumOk() { using (var db = new SampleWebAppDb()) { //SETUP DataLayerInitialise.InitialiseThis(false, true); //ATTEMPT DataLayerInitialise.ResetBlogs(db, TestDataSelection.Medium); //VERIFY db.Blogs.Count().ShouldEqual(4); db.Posts.Count().ShouldEqual(17); db.Tags.Count().ShouldEqual(8); } }
public void Check20NullInitialiserOk() { Check10BlogsResetSmallOk(); //we call this to ensure the database is setup using (var db = new SampleWebAppDb()) { //SETUP DataLayerInitialise.InitialiseThis(false, false); //select null initialiser //ATTEMPT DataLayerInitialise.ResetBlogs(db, TestDataSelection.Small); //VERIFY db.Blogs.Count().ShouldEqual(2); db.Posts.Count().ShouldEqual(3); db.Tags.Count().ShouldEqual(3); } }
public void Check10DatabaseResetWithIGenericServicesDbContextOk() { using (var db = new SampleWebAppDb() as IGenericServicesDbContext) { //SETUP DataLayerInitialise.InitialiseThis(); var filepath = TestFileHelpers.GetTestFileFilePath("DbContentSimple.xml"); //ATTEMPT DataLayerInitialise.ResetDatabaseToTestData(db as SampleWebAppDb, filepath); //VERIFY db.Set <Blog>().Count().ShouldEqual(2); db.Set <Post>().Count().ShouldEqual(3); db.Set <Tag>().Count().ShouldEqual(3); db.Set <PostTagGrade>().Count().ShouldEqual(2); } }
public void Check01DatabaseResetOk() { using (var db = new SampleWebAppDb()) { //SETUP DataLayerInitialise.InitialiseThis(); var filepath = TestFileHelpers.GetTestFileFilePath("DbContentSimple.xml"); //ATTEMPT DataLayerInitialise.ResetDatabaseToTestData(db, filepath); //VERIFY db.Blogs.Count().ShouldEqual(2); db.Posts.Count().ShouldEqual(3); db.Tags.Count().ShouldEqual(3); db.Database.SqlQuery <int>("SELECT COUNT(*) FROM dbo.TagPosts").First().ShouldEqual(5); db.PostTagGrades.Count().ShouldEqual(2); } }
public void Check02FindPostKeyAgainOk() { using (var db = new SampleWebAppDb()) { //SETUP var timer = new Stopwatch(); DataLayerInitialise.InitialiseThis(); var x = db.Posts.Count(); //ATTEMPT timer.Start(); var keys = db.GetKeyProperties <Post>(); timer.Stop(); Console.WriteLine("took {0:f3} ms", 1000.0 * timer.ElapsedTicks / Stopwatch.Frequency); //VERIFY keys.Count.ShouldEqual(1); keys.First().Name.ShouldEqual("PostId"); } }
/// <summary> /// This should be called at Startup from Infrastructure.Configuration /// </summary> /// <param name="isAzure">true if working with azure database</param> /// <param name="canCreateDatabase">true if the database provider allows the app to drop/create a database</param> public static void InitialiseThis(bool isAzure, bool canCreateDatabase) { //Place any tasks that need initialising here DataLayerInitialise.InitialiseThis(isAzure, canCreateDatabase); }
public void SetUpFixture() { DataLayerInitialise.InitialiseThis(); new SimplePostDto(); //sets up the mapping new DetailPostDto(); //sets up the mapping }