def METHOD_NAME(self):
    # NOTE: Positional args used to ensure supplied args remain consistent
    @hooks.register('menus_modify_primed_menu_items')
    def modify_menu_items(
        menu_items, request, parent_context, parent_page, menu_instance,
        original_menu_instance, menu_tag, original_menu_tag, current_level,
        max_levels, current_site, current_page, current_section_root_page,
        current_page_ancestor_ids, apply_active_classes,
        allow_repeating_parents, use_absolute_page_urls
    ):
        if original_menu_tag == 'main_menu' and current_level == 1:
            menu_items.append({
                'href': 'https://rkh.co.uk',
                'text': 'VISIT RKH.CO.UK',
                'active_class': 'external',
            })
        return menu_items
    # Let's render the test homepage to see what happens!
    response = self.client.get('/')
    # unhook asap to prevent knock-on effects on failure
    del hooks._hooks['menus_modify_primed_menu_items']
    # If the the hook failed to receive any of the arguments defined
    # on `modify_menu_items` above, there will be an error
    self.assertEqual(response.status_code, 200)
    # There are 5 main menus being output, and because our hook only adds
    # the additional item to the first level of each of those, the
    # 'VISIT RKH.CO.UK' text should appear exactly 5 times
    self.assertContains(response, 'VISIT RKH.CO.UK', 5)