def METHOD_NAME(qtbot_module, fallback_fixture):
    fallback, completions, diff_match = fallback_fixture
    # diff = diff_match.patch_make('', TEST_FILE)
    open_request = {
        'file': 'test.py',
        'text': TEST_FILE,
        'offset': len(TEST_FILE),
    }
    fallback.send_request(
        'python', CompletionRequestTypes.DOCUMENT_DID_OPEN, open_request)
    qtbot_module.wait(1000)
    tokens_request = {
        'file': 'test.py',
        'current_word': ''
    }
    with qtbot_module.waitSignal(completions.sig_recv_tokens,
                                 timeout=3000) as blocker:
        fallback.send_request(
            'python',
            CompletionRequestTypes.DOCUMENT_COMPLETION,
            tokens_request
        )
    initial_tokens = blocker.args[0]
    initial_tokens = {token['insertText'] for token in initial_tokens}
    assert 'args' not in initial_tokens
    diff = diff_match.patch_make(TEST_FILE, TEST_FILE_UPDATE)
    update_request = {
        'file': 'test.py',
        'diff': diff,
        'offset': len(diff),
    }
    fallback.send_request(
        'python', CompletionRequestTypes.DOCUMENT_DID_CHANGE, update_request)
    qtbot_module.wait(1000)
    with qtbot_module.waitSignal(completions.sig_recv_tokens,
                                 timeout=3000) as blocker:
        fallback.send_request(
            'python',
            CompletionRequestTypes.DOCUMENT_COMPLETION,
            tokens_request
        )
    updated_tokens = blocker.args[0]
    updated_tokens = {token['insertText'] for token in updated_tokens}
    assert 'args' in updated_tokens