def test_filter_items_prompts_for_multiple_items(self): mock_context = self.create_mock_context('no') items = [mock.Mock(), mock.Mock()] confirm_filter = confirmfilter.ConfirmFilter(mock_context, 'action') confirm_filter.filter_items(items) expected_message = 'action? [y/n]... 2 items> ' mock_context.console.input.assert_called_once_with(expected_message)
def test_filter_items_prompts_for_one_item(self): mock_context = self.create_mock_context('no') mock_item = mock.Mock() mock_item.index = 1 mock_item.name = 'test' items = [mock_item] confirm_filter = confirmfilter.ConfirmFilter(mock_context, 'action') confirm_filter.filter_items(items) expected_message = 'action? [y/n]... ID: 1, name: "test"> ' mock_context.console.input.assert_called_once_with(expected_message)
def get_confirm_filter(self, context): if context.settings.command_annotate_confirm: return confirmfilter.ConfirmFilter(context, 'Annotate') return None
def get_confirm_filter(self, context): if context.settings.command_stop_confirm: return confirmfilter.ConfirmFilter(context, 'Stop') return None
def get_confirm_filter(self, context): if context.settings.command_done_confirm: return confirmfilter.ConfirmFilter(context, 'Mark as done') return None
def test_constructor_sets_action_name(self): mock_context = self.create_mock_context('no') action_name = 'test action name' confirm_filter = confirmfilter.ConfirmFilter(mock_context, action_name) self.assertEqual(action_name, confirm_filter.action_name)
def test_filter_items_returns_original_list_on_positive_confirmation(self): confirm_filter = confirmfilter.ConfirmFilter( self.create_mock_context('yes'), 'action') items = [mock.Mock(), mock.Mock()] result = confirm_filter.filter_items(items) self.assertEqual(items, result)
def test_filter_items_returns_empty_list_on_negative_confirmation(self): confirm_filter = confirmfilter.ConfirmFilter( self.create_mock_context('no'), 'action') items = [mock.Mock(), mock.Mock()] result = confirm_filter.filter_items(items) self.assertEqual(0, len(result))
def test_filter_items_does_not_prompt_for_zero_items(self): mock_context = self.create_mock_context('no') items = [] confirm_filter = confirmfilter.ConfirmFilter(mock_context, '') confirm_filter.filter_items(items) mock_context.console.input.assert_not_called()