def test_relevant_changes(self):
     ok = SprinterChange(pk=1, component='Forms')
     not_ok = SprinterChange(pk=2, component='ORM')
     achievement = Achievement(component='Forms')
     changes = [ok, not_ok]
     filtered = achievement.relevant_changes(changes)
     expect(filtered) == [ok]
 def test_pull_request_count_fail(self):
     achievement = Achievement(pull_request_count=2)
     pull_requests = [SprinterPull(pk=1)]
     expect(achievement.pull_request_count_ok(pull_requests)) == False
 def test_is_relevant_many_fail(self):
     kwargs = {attr: attr for attr in self.attributes}
     achievement = Achievement(**kwargs)
     kwargs.pop('component')
     change = SprinterChange(**kwargs)
     expect(achievement.is_relevant(change)) == False
 def test_is_relevant_component_not_specified(self):
     achievement = Achievement()
     for attribute in self.attributes:
         change = SprinterChange(**{attribute: 'ok'})
         expect(achievement.is_relevant(change)) == True
 def test_comment_number_ok_failed(self):
     changes = [SprinterChange(ticket_id=1, field='comment', ),
                SprinterChange(ticket_id=1, field='comment', )]
     achievement = Achievement(comment_count=2)
     expect(achievement.comment_count_ok(changes)) == False
 def test_ticket_count_ok_failed(self):
     changes = [SprinterChange(ticket_id=1),
                SprinterChange(ticket_id=1)]
     achievement = Achievement(ticket_count=2)
     expect(achievement.ticket_count_ok(changes)) == False
 def test_is_relevant_single_fail(self):
     for attribute in self.attributes:
         change = SprinterChange(**{attribute: 'ok'})
         achievement = Achievement(**{attribute: 'not ok'})
         expect(achievement.is_relevant(change)) == False
 def test_attachment_count_ok_not_set(self):
     achievement = Achievement()
     expect(achievement.attachment_count_ok([])) == True
 def test_attachment_count_ok_success(self):
     changes = [SprinterChange(ticket_id=1, field='attachment', ),
                SprinterChange(ticket_id=2, field='attachment', )]
     achievement = Achievement(attachment_count=2)
     expect(achievement.attachment_count_ok(changes)) == True
 def test_attachment_count_ok_failed(self):
     changes = [SprinterChange(ticket_id=1, field='attachment', ),
                SprinterChange(ticket_id=1, field='attachment', )]
     achievement = Achievement(attachment_count=2)
     expect(achievement.attachment_count_ok(changes)) == False
 def test_comment_number_ok_not_set(self):
     achievement = Achievement()
     expect(achievement.comment_count_ok([])) == True
 def test_no_pull_request_count(self):
     achievement = Achievement(pull_request_count=None)
     pull_requests = []
     expect(achievement.pull_request_count_ok(pull_requests)) == True