def METHOD_NAME(self):
    """ 
    Scanning a SettingsQR should present the success screen and then return to
    MainMenuView.
    """
    def load_persistent_settingsqr_into_decoder(view: scan_views.ScanView):
        settingsqr_data_persistent: str = "settings::v1 name=Total_noob_mode persistent=E coords=spa,spd denom=thr network=M qr_density=M xpub_export=E sigs=ss scripts=nat xpub_details=E passphrase=E camera=0 compact_seedqr=E bip85=D priv_warn=E dire_warn=E partners=E"
        view.decoder.add_data(settingsqr_data_persistent)
    def load_not_persistent_settingsqr_into_decoder(view: scan_views.ScanView):
        settingsqr_data_not_persistent: str = "settings::v1 name=Ephemeral_noob_mode persistent=D coords=spa,spd denom=thr network=M qr_density=M xpub_export=E sigs=ss scripts=nat xpub_details=E passphrase=E camera=0 compact_seedqr=E bip85=D priv_warn=E dire_warn=E partners=E"
        view.decoder.add_data(settingsqr_data_not_persistent)
    def _run_test(initial_setting_state: str, load_settingsqr_into_decoder: Callable, expected_setting_state: str):
        self.settings.set_value(SettingsConstants.SETTING__PERSISTENT_SETTINGS, initial_setting_state)
        self.run_sequence([
            FlowStep(MainMenuView, button_data_selection=MainMenuView.SCAN),
            FlowStep(scan_views.ScanView, before_run=load_settingsqr_into_decoder),  # simulate read message QR; ret val is ignored
            FlowStep(settings_views.SettingsIngestSettingsQRView),   # ret val is ignored
            FlowStep(MainMenuView),
        ])
        assert self.settings.get_value(SettingsConstants.SETTING__PERSISTENT_SETTINGS) == expected_setting_state
    # First load a SettingsQR that enables persistent settings
    self.mock_microsd.is_inserted = True
    assert MicroSD.get_instance().is_inserted is True
    _run_test(
        initial_setting_state=SettingsConstants.OPTION__DISABLED,
        load_settingsqr_into_decoder=load_persistent_settingsqr_into_decoder,
        expected_setting_state=SettingsConstants.OPTION__ENABLED
    )
    # Then one that disables it
    _run_test(
        initial_setting_state=SettingsConstants.OPTION__ENABLED,
        load_settingsqr_into_decoder=load_not_persistent_settingsqr_into_decoder,
        expected_setting_state=SettingsConstants.OPTION__DISABLED
    )
    # Now try to enable persistent settings when the SD card is not inserted
    self.mock_microsd.is_inserted = False
    assert MicroSD.get_instance().is_inserted is False
    # Have to jump through some hoops to completely simulate the SD card being
    # removed; we need Settings to restrict Persistent Settings to only allow
    # DISABLED.
    with patch('seedsigner.models.settings.Settings.HOSTNAME', new_callable=PropertyMock) as mock_hostname:
        # Must identify itself as SeedSigner OS to trigger the SD card removal logic
        mock_hostname.return_value = Settings.SEEDSIGNER_OS
        Settings.handle_microsd_state_change(MicroSD.ACTION__REMOVED)
    selection_options = SettingsDefinition.get_settings_entry(SettingsConstants.SETTING__PERSISTENT_SETTINGS).selection_options
    assert len(selection_options) == 1
    assert selection_options[0][0] == SettingsConstants.OPTION__DISABLED
    assert self.settings.get_value(SettingsConstants.SETTING__PERSISTENT_SETTINGS) == SettingsConstants.OPTION__DISABLED
    _run_test(
        initial_setting_state=SettingsConstants.OPTION__DISABLED,
        load_settingsqr_into_decoder=load_persistent_settingsqr_into_decoder,
        expected_setting_state=SettingsConstants.OPTION__DISABLED
    )