def METHOD_NAME() -> None:
    # No transactions.
    transactions: list[phabricator.TransactionDict] = []
    assert (
        phabricator.get_first_review_time(
            phabricator.RevisionDict({"id": 1, "transactions": transactions})
        )
        is None
    )
    # Revision accepted after 9 days.
    transactions = [
        phabricator.TransactionDict(
            {
                "type": "create",
                "dateCreated": 671760000,  # 16 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "accept",
                "dateCreated": 672537600,  # 25 April 1991
            }
        ),
    ]
    assert phabricator.get_first_review_time(
        phabricator.RevisionDict({"id": 1, "transactions": transactions})
    ) == timedelta(days=9)
    # Revision rejected after 9 days.
    transactions = [
        phabricator.TransactionDict(
            {
                "type": "create",
                "dateCreated": 671760000,  # 16 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "request-changes",
                "dateCreated": 672537600,  # 25 April 1991
            }
        ),
    ]
    assert phabricator.get_first_review_time(
        phabricator.RevisionDict({"id": 1, "transactions": transactions})
    ) == timedelta(days=9)
    # Changes planned after the revision was accepted in 9 days.
    transactions = [
        phabricator.TransactionDict(
            {
                "type": "create",
                "dateCreated": 671760000,  # 16 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "accept",
                "dateCreated": 672537600,  # 25 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "plan-changes",
                "dateCreated": 672883200,  # 29 April 1991
            }
        ),
    ]
    assert phabricator.get_first_review_time(
        phabricator.RevisionDict({"id": 1, "transactions": transactions})
    ) == timedelta(days=9)
    # Changes planned before the revision was accepted in 13 days.
    transactions = [
        phabricator.TransactionDict(
            {
                "type": "create",
                "dateCreated": 671760000,  # 16 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "plan-changes",
                "dateCreated": 672537600,  # 25 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "accept",
                "dateCreated": 672883200,  # 29 April 1991
            }
        ),
    ]
    assert phabricator.get_first_review_time(
        phabricator.RevisionDict({"id": 1, "transactions": transactions})
    ) == timedelta(days=13)
    # Changes planned and updated before the revision was accepted in 13 days.
    transactions = [
        phabricator.TransactionDict(
            {
                "type": "create",
                "dateCreated": 671760000,  # 16 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "plan-changes",
                "dateCreated": 672537600,  # 25 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "update",
                "dateCreated": 672624000,  # 26 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "accept",
                "dateCreated": 672883200,  # 29 April 1991
            }
        ),
    ]
    assert phabricator.get_first_review_time(
        phabricator.RevisionDict({"id": 1, "transactions": transactions})
    ) == timedelta(days=12)
    # Changes planned before the revision was accepted in 10 days, and updated after.
    transactions = [
        phabricator.TransactionDict(
            {
                "type": "create",
                "dateCreated": 671760000,  # 16 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "plan-changes",
                "dateCreated": 672537600,  # 25 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "request-changes",
                "dateCreated": 672624000,  # 26 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "update",
                "dateCreated": 672883200,  # 29 April 1991
            }
        ),
    ]
    assert phabricator.get_first_review_time(
        phabricator.RevisionDict({"id": 1, "transactions": transactions})
    ) == timedelta(days=10)
    # Changes planned, closed and reopened before the revision was accepted in 13 days.
    transactions = [
        phabricator.TransactionDict(
            {
                "type": "create",
                "dateCreated": 671760000,  # 16 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "plan-changes",
                "dateCreated": 672537600,  # 25 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "close",
                "dateCreated": 672624000,  # 26 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "reopen",
                "dateCreated": 672710400,  # 27 April 1991
            }
        ),
        phabricator.TransactionDict(
            {
                "type": "accept",
                "dateCreated": 672883200,  # 29 April 1991
            }
        ),
    ]
    assert phabricator.get_first_review_time(
        phabricator.RevisionDict({"id": 1, "transactions": transactions})
    ) == timedelta(days=11)