예제 #1
0
    def testCommand(self):
        """should return the correct list of projects"""

        # mock user arguments
        mock_helper = MockHelper()
        mock_helper.user = [103]
        mock_helper.date = []
        data = mock_helper.get_mock_data('lst/tests/check_hours.json')

        # mock the zebra manager and its return values
        zebra_manager = mock_helper.get_zebra_manager()
        timesheets = zebra_manager._parse_timesheets(data)
        zebra_manager.get_all_timesheets = MagicMock(return_value=timesheets)

        command = CheckHoursCommand()
        command.get_zebra_manager = MagicMock(return_value=zebra_manager)

        # verify the projects data returned
        projects = command._get_projects(mock_helper.date, mock_helper.user)

        self.assertEquals(2, len(projects), 'The should be 2 projects')
        self.assertTrue('A Project 1' == projects[0][0], 'Projects should be ordered alphabetically')
        self.assertTrue('B Project 2' == projects[1][0], 'Projects should be ordered alphabetically')
        self.assertEquals(1, len(projects[0][1]), 'A Project should contain 1 timesheets')
        self.assertEquals(2, len(projects[1][1]), 'B Project should contain 2 timesheets')

        # run the command
        command._output = Mock()
        command.run(mock_helper)
예제 #2
0
    def testEnsureSprintInConfig(self):
        mock_helper = MockHelper()
        command = BaseCommand()

        s = mock_helper.get_sprint()
        command.config.get_sprint = MagicMock(return_value=s)
        self.assertEquals(s, command.ensure_sprint_in_config('in config'))

        command.config.get_sprint = MagicMock(return_value=None)
        self.assertRaises(InputParametersError, command.ensure_sprint_in_config, 'not in config')
예제 #3
0
    def testIOProblem(self):
        """should raise an IOError"""

        # mock user arguments
        mock_helper = MockHelper()
        mock_helper.lastname = ['prodon', 'tsetung']

        # mock the zebra manager and its return values
        zebra_manager = mock_helper.get_zebra_manager()
        zebra_manager.get_all_users = MagicMock(return_value=[])

        command = RetrieveUserIdCommand()
        command.get_zebra_manager = MagicMock(return_value=zebra_manager)

        # run the command
        command._output = Mock()
        self.assertRaises(IOError, command.run, mock_helper)
예제 #4
0
    def testIOProblem(self):
        """should raise an IOError"""

        # mock user arguments
        mock_helper = MockHelper()
        mock_helper.lastname = ['prodon', 'tsetung']

        # mock the zebra manager and its return values
        zebra_manager = mock_helper.get_zebra_manager()
        zebra_manager.get_all_users = MagicMock(return_value=[])

        command = RetrieveUserIdCommand()
        command.get_zebra_manager = MagicMock(return_value=zebra_manager)

        # run the command
        command._output = Mock()
        self.assertRaises(IOError, command.run, mock_helper)
예제 #5
0
    def testCommand(self):
        """should return the correct data for the story"""

        # mock user arguments
        mock_helper = MockHelper()
        mock_helper.story_id = 'pro-xx'
        data = Story()
        data.sprint_name = 'my sprint name'

        # mock the jira manager and its return values
        jira_manager = mock_helper.get_jira_manager()
        jira_manager.get_story = MagicMock(return_value=data)

        command = RetrieveJiraInformationForConfigCommand()
        command.get_jira_manager = MagicMock(return_value=jira_manager)

        output_mock = Mock()
        command._output = output_mock
        command.run(mock_helper)
        self.assertEquals((data, 'my+sprint+name'), output_mock.call_args[0])
예제 #6
0
    def testMultipleUsers(self):
        """should return the correct user ids"""

        # mock user arguments
        mock_helper = MockHelper()
        mock_helper.lastname = ['prodon', 'tsetung']

        # mock the zebra manager and its return values
        zebra_manager = mock_helper.get_zebra_manager()
        zebra_manager.get_all_users = MagicMock(return_value=self.mock_users)

        command = RetrieveUserIdCommand()
        command.get_zebra_manager = MagicMock(return_value=zebra_manager)

        # run the command
        output_mock = command._output = Mock()
        command.run(mock_helper)

        expected_result = [self.mock_users[0], self.mock_users[2]]

        self.assertEquals((expected_result, ['prodon', 'tsetung']), output_mock.call_args[0])
예제 #7
0
    def testCommand(self):
        """should return the correct list of projects"""

        # mock user arguments
        mock_helper = MockHelper()
        mock_helper.user = [103]
        mock_helper.date = []
        data = mock_helper.get_mock_data('lst/tests/check_hours.json')

        # mock the zebra manager and its return values
        zebra_manager = mock_helper.get_zebra_manager()
        timesheets = zebra_manager._parse_timesheets(data)
        zebra_manager.get_all_timesheets = MagicMock(return_value=timesheets)

        command = CheckHoursCommand()
        command.get_zebra_manager = MagicMock(return_value=zebra_manager)

        # verify the projects data returned
        projects = command._get_projects(mock_helper.date, mock_helper.user)

        self.assertEquals(2, len(projects), 'The should be 2 projects')
        self.assertTrue('A Project 1' == projects[0][0],
                        'Projects should be ordered alphabetically')
        self.assertTrue('B Project 2' == projects[1][0],
                        'Projects should be ordered alphabetically')
        self.assertEquals(1, len(projects[0][1]),
                          'A Project should contain 1 timesheets')
        self.assertEquals(2, len(projects[1][1]),
                          'B Project should contain 2 timesheets')

        # run the command
        command._output = Mock()
        command.run(mock_helper)
예제 #8
0
    def testMultipleUsers(self):
        """should return the correct user ids"""

        # mock user arguments
        mock_helper = MockHelper()
        mock_helper.lastname = ['prodon', 'tsetung']

        # mock the zebra manager and its return values
        zebra_manager = mock_helper.get_zebra_manager()
        zebra_manager.get_all_users = MagicMock(return_value=self.mock_users)

        command = RetrieveUserIdCommand()
        command.get_zebra_manager = MagicMock(return_value=zebra_manager)

        # run the command
        output_mock = command._output = Mock()
        command.run(mock_helper)

        expected_result = [self.mock_users[0], self.mock_users[2]]

        self.assertEquals((expected_result, ['prodon', 'tsetung']),
                          output_mock.call_args[0])