def test_patch_test(self, patch_include_prerelease, patch_enabled, patch_interval, update_include_prerelease, update_enabled, update_interval):
        with patch('monitorrent.settings_manager.SettingsManager.new_version_check_interval',
                   new_callable=PropertyMock) as new_version_check_interval_mock:

            new_version_check_interval_mock.return_value = 4000

            settings_manager = SettingsManager()
            settings_manager.get_new_version_check_include_prerelease = Mock(return_value=False)
            settings_manager.set_new_version_check_include_prerelease = Mock()
            settings_manager.get_is_new_version_checker_enabled = Mock(return_value=True)
            settings_manager.set_is_new_version_checker_enabled = Mock()
            settings_manager.new_version_check_interval = PropertyMock(return_value=3600)

            new_version_checker = NewVersionChecker(False)
            update_mock = Mock()
            new_version_checker.update = update_mock

            settings_new_version_checker = SettingsNewVersionChecker(settings_manager, new_version_checker)
            self.api.add_route('/api/settings/new_version_checker', settings_new_version_checker)

            request = dict()
            if patch_include_prerelease is not None:
                request['include_prerelease'] = patch_include_prerelease
            if patch_enabled is not None:
                request['enabled'] = patch_enabled
            if patch_interval is not None:
                request['interval'] = patch_interval
            self.simulate_request('/api/settings/new_version_checker', method="PATCH", body=json.dumps(request))

            self.assertEqual(self.srmock.status, falcon.HTTP_NO_CONTENT)

            update_mock.assert_called_once_with(update_include_prerelease, update_enabled, update_interval)
    def test_patch_test(self, patch_include_prerelease, patch_enabled,
                        patch_interval, update_include_prerelease,
                        update_enabled, update_interval):
        with patch(
                'monitorrent.settings_manager.SettingsManager.new_version_check_interval',
                new_callable=PropertyMock) as new_version_check_interval_mock:

            new_version_check_interval_mock.return_value = 4000

            settings_manager = SettingsManager()
            settings_manager.get_new_version_check_include_prerelease = Mock(
                return_value=False)
            settings_manager.set_new_version_check_include_prerelease = Mock()
            settings_manager.get_is_new_version_checker_enabled = Mock(
                return_value=True)
            settings_manager.set_is_new_version_checker_enabled = Mock()
            settings_manager.new_version_check_interval = PropertyMock(
                return_value=3600)

            new_version_checker = NewVersionChecker(Mock(), False)
            update_mock = Mock()
            new_version_checker.update = update_mock

            settings_new_version_checker = SettingsNewVersionChecker(
                settings_manager, new_version_checker)
            self.api.add_route('/api/settings/new_version_checker',
                               settings_new_version_checker)

            request = dict()
            if patch_include_prerelease is not None:
                request['include_prerelease'] = patch_include_prerelease
            if patch_enabled is not None:
                request['enabled'] = patch_enabled
            if patch_interval is not None:
                request['interval'] = patch_interval
            self.simulate_request('/api/settings/new_version_checker',
                                  method="PATCH",
                                  body=json.dumps(request))

            self.assertEqual(self.srmock.status, falcon.HTTP_NO_CONTENT)

            update_mock.assert_called_once_with(update_include_prerelease,
                                                update_enabled,
                                                update_interval)