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); }