def METHOD_NAME(self):
    """
    Verify that preview themes behaves correctly.
    """
    # First request a preview theme
    post_request = RequestFactory().post('/test')
    self.initialize_mock_request(post_request)
    set_user_preview_site_theme(post_request, TEST_THEME_NAME)
    # Next request a page and verify that the theme is returned
    get_request = self.create_mock_get_request()
    assert self.site_theme_middleware.process_request(get_request) is None
    assert get_request.site_theme.theme_dir_name == TEST_THEME_NAME  # lint-amnesty, pylint: disable=no-member
    # Request to reset the theme
    post_request = RequestFactory().post('/test')
    self.initialize_mock_request(post_request)
    set_user_preview_site_theme(post_request, None)
    # Verify that no theme is returned now
    get_request = self.create_mock_get_request()
    assert self.site_theme_middleware.process_request(get_request) is None
    assert get_request.site_theme is None  # lint-amnesty, pylint: disable=no-member
    # Verify that we can still force the theme with a querystring arg
    get_request = self.create_mock_get_request(qs_theme=TEST_THEME_NAME)
    assert self.site_theme_middleware.process_request(get_request) is None
    assert get_request.site_theme.theme_dir_name == TEST_THEME_NAME  # lint-amnesty, pylint: disable=no-member