Exemple #1
0
        public void Methods_delegate_to_configured_store_creator()
        {
            var context     = TestHelpers.Instance.CreateContext();
            var model       = context.Model;
            var creatorMock = new Mock <RelationalDataStoreCreator>();

            creatorMock.Setup(m => m.Exists()).Returns(true);
            creatorMock.Setup(m => m.HasTables()).Returns(true);
            creatorMock.Setup(m => m.EnsureCreated(model)).Returns(true);
            creatorMock.Setup(m => m.EnsureDeleted(model)).Returns(true);

            var connectionMock   = new Mock <IRelationalConnection>();
            var dbConnectionMock = new Mock <DbConnection>();

            connectionMock.SetupGet(m => m.DbConnection).Returns(dbConnectionMock.Object);
            dbConnectionMock.SetupGet(m => m.Database).Returns("MyDb");

            var database = new ConcreteRelationalDatabase(
                context,
                creatorMock.Object,
                connectionMock.Object,
                Mock.Of <IMigrator>(),
                new LoggerFactory());

            Assert.True(database.Exists());
            creatorMock.Verify(m => m.Exists(), Times.Once);

            database.Create();
            creatorMock.Verify(m => m.Create(), Times.Once);

            database.CreateTables();
            creatorMock.Verify(m => m.CreateTables(model), Times.Once);

            Assert.True(database.HasTables());
            creatorMock.Verify(m => m.HasTables(), Times.Once);

            database.Delete();
            creatorMock.Verify(m => m.Delete(), Times.Once);

            Assert.True(database.EnsureCreated());
            creatorMock.Verify(m => m.EnsureCreated(model), Times.Once);

            Assert.True(database.EnsureDeleted());
            creatorMock.Verify(m => m.EnsureDeleted(model), Times.Once);

            Assert.Same(connectionMock.Object, database.Connection);
        }
        public void Methods_delegate_to_configured_store_creator()
        {
            var context = TestHelpers.Instance.CreateContext();
            var model = context.Model;
            var creatorMock = new Mock<RelationalDataStoreCreator>();
            creatorMock.Setup(m => m.Exists()).Returns(true);
            creatorMock.Setup(m => m.HasTables()).Returns(true);
            creatorMock.Setup(m => m.EnsureCreated(model)).Returns(true);
            creatorMock.Setup(m => m.EnsureDeleted(model)).Returns(true);

            var connectionMock = new Mock<IRelationalConnection>();
            var dbConnectionMock = new Mock<DbConnection>();
            connectionMock.SetupGet(m => m.DbConnection).Returns(dbConnectionMock.Object);
            dbConnectionMock.SetupGet(m => m.Database).Returns("MyDb");

            var database = new ConcreteRelationalDatabase(
                context,
                creatorMock.Object,
                connectionMock.Object,
                Mock.Of<IMigrator>(),
                new LoggerFactory());

            Assert.True(database.Exists());
            creatorMock.Verify(m => m.Exists(), Times.Once);

            database.Create();
            creatorMock.Verify(m => m.Create(), Times.Once);

            database.CreateTables();
            creatorMock.Verify(m => m.CreateTables(model), Times.Once);

            Assert.True(database.HasTables());
            creatorMock.Verify(m => m.HasTables(), Times.Once);

            database.Delete();
            creatorMock.Verify(m => m.Delete(), Times.Once);

            Assert.True(database.EnsureCreated());
            creatorMock.Verify(m => m.EnsureCreated(model), Times.Once);

            Assert.True(database.EnsureDeleted());
            creatorMock.Verify(m => m.EnsureDeleted(model), Times.Once);

            Assert.Same(connectionMock.Object, database.Connection);
        }