def testResultMap(self, **kwargs): """ Return a map of test-results using the test name as the key. Where multiple test results exist for a given name, the *most recent* test is used. This map is useful for rendering to a template (e.g. a test report), as all named tests are accessible. """ results = self.getTestResults(**kwargs).order_by('-date') result_map = {} for result in results: key = helpers.generateTestKey(result.test) result_map[key] = result return result_map
def requiredTestStatus(self): """ Return the status of the tests required for this StockItem. return: A dict containing the following items: - total: Number of required tests - passed: Number of tests that have passed - failed: Number of tests that have failed """ # All the tests required by the part object required = self.part.getRequiredTests() results = self.testResultMap() total = len(required) passed = 0 failed = 0 for test in required: key = helpers.generateTestKey(test.test_name) if key in results: result = results[key] if result.result: passed += 1 else: failed += 1 return { 'total': total, 'passed': passed, 'failed': failed, }
def key(self): return helpers.generateTestKey(self.test)