public void BeginTransactionSucceeds()
    {
        var mockedContext  = new Mock <DbContext>();
        var mockedDatabase = new Mock <DatabaseFacade>(mockedContext.Object);

        mockedDatabase.Setup(facade => facade.BeginTransaction())
        .Returns(new Mock <IDbContextTransaction>().Object);
        mockedContext.SetupGet(context => context.Database)
        .Returns(mockedDatabase.Object);
        var unitOfWork = new FakeUnitOfWork(mockedContext.Object);

        unitOfWork.BeginTransaction().Should().NotBeNull().And.BeOfType <EntityFrameworkTransaction>();
        mockedDatabase.Verify(facade => facade.BeginTransaction(), Times.Once);
    }