def _create_qc_events(unit): create_instances = [ QualityCheck( name=("Foo%s" % i), category=2, unit=unit) for i in range(0, 3)] for instance in create_instances: create.send( QualityCheck, instance=instance) create_objects = [ QualityCheck( name=("Bar%s" % i), category=2, unit=unit) for i in range(0, 3)] create_more_objects = [ QualityCheck( name=("Baz%s" % i), category=2, unit=unit) for i in range(0, 3)] create.send( QualityCheck, objects=create_objects) create.send( QualityCheck, objects=create_more_objects) return create_instances + create_objects + create_more_objects
def test_unit_lifecycle_unmute_qc(store0, member): unit = store0.UnitClass() unit.store = store0 unit.source_f = multistring("Foo") unit.save() unit_lifecycle = lifecycle.get(Unit)(unit) qc = QualityCheck( unit=unit, name="foo-check", message="Check foo!", category="Footile") with pytest.raises(KeyError): unit_lifecycle.sub_unmute_qc() with pytest.raises(KeyError): unit_lifecycle.sub_unmute_qc(submitter=member) with pytest.raises(KeyError): unit_lifecycle.sub_unmute_qc(quality_check=qc) sub_unmute_qc = unit_lifecycle.sub_unmute_qc( quality_check=qc, submitter=member) assert sub_unmute_qc.unit == unit assert sub_unmute_qc.store == store0 assert sub_unmute_qc.translation_project == store0.translation_project assert sub_unmute_qc.revision == unit.revision assert sub_unmute_qc.type == SubmissionTypes.UNMUTE_CHECK assert sub_unmute_qc.field == SubmissionFields.NONE assert sub_unmute_qc.new_value == "" assert sub_unmute_qc.old_value == "" assert not sub_unmute_qc.pk
def clone_checks(self, source_store, target_store): """Clone checks from source store to target store.""" fields = ('unit__unitid_hash', 'category', 'name', 'false_positive', 'message') checks = QualityCheck.objects.filter( unit__store=source_store, unit__state__gt=OBSOLETE, ).values(*fields) unitid_hashes = [x['unit__unitid_hash'] for x in checks] units = target_store.units.filter(unitid_hash__in=unitid_hashes) unit_map = { x['unitid_hash']: x['id'] for x in units.values('id', 'unitid_hash')} cloned_checks = [] for check in checks: cloned_checks.append(QualityCheck( unit_id=unit_map[check['unit__unitid_hash']], category=check['category'], name=check['name'], false_positive=check['false_positive'], message=check['message'])) create.send(QualityCheck, objects=cloned_checks)