def test_update_l10n_coverage_metrics(self): """Test the cron job that updates l10n coverage metrics.""" p = product(save=True) # Create en-US documents. for i in range(20): r = revision(is_approved=True, is_ready_for_localization=True, save=True) r.document.products.add(p) r1 = Revision.objects.all()[0] r2 = Revision.objects.all()[1] # Translate one to es. d = document(parent=r1.document, locale="es", save=True) revision(document=d, based_on=r1, is_approved=True, save=True) # Translate two to de. d = document(parent=r1.document, locale="de", save=True) revision(document=d, based_on=r1, is_approved=True, save=True) d = document(parent=r2.document, locale="de", save=True) revision(document=d, based_on=r2, is_approved=True, save=True) # Translate all to ru. for r in Revision.objects.filter(document__locale="en-US"): d = document(parent=r.document, locale="ru", save=True) revision(document=d, based_on=r, is_approved=True, save=True) # Call the cronjob update_l10n_coverage_metrics() # Verify es metrics. eq_(4, WikiMetric.objects.filter(locale="es").count()) eq_(5.0, WikiMetric.objects.get(locale="es", product=p, code=L10N_TOP20_CODE).value) eq_(5.0, WikiMetric.objects.get(locale="es", product=p, code=L10N_ALL_CODE).value) eq_(5.0, WikiMetric.objects.get(locale="es", product=None, code=L10N_TOP20_CODE).value) eq_(5.0, WikiMetric.objects.get(locale="es", product=None, code=L10N_ALL_CODE).value) # Verify de metrics. eq_(4, WikiMetric.objects.filter(locale="de").count()) eq_(10.0, WikiMetric.objects.get(locale="de", product=p, code=L10N_TOP20_CODE).value) eq_(10.0, WikiMetric.objects.get(locale="de", product=p, code=L10N_ALL_CODE).value) eq_(10.0, WikiMetric.objects.get(locale="de", product=None, code=L10N_TOP20_CODE).value) eq_(10.0, WikiMetric.objects.get(locale="de", product=None, code=L10N_ALL_CODE).value) # Verify ru metrics. eq_(4, WikiMetric.objects.filter(locale="ru").count()) eq_(100.0, WikiMetric.objects.get(locale="ru", product=p, code=L10N_TOP20_CODE).value) eq_(100.0, WikiMetric.objects.get(locale="ru", product=p, code=L10N_ALL_CODE).value) eq_(100.0, WikiMetric.objects.get(locale="ru", product=None, code=L10N_TOP20_CODE).value) eq_(100.0, WikiMetric.objects.get(locale="ru", product=None, code=L10N_ALL_CODE).value) # Verify it metrics. eq_(4, WikiMetric.objects.filter(locale="it").count()) eq_(0.0, WikiMetric.objects.get(locale="it", product=p, code=L10N_TOP20_CODE).value) eq_(0.0, WikiMetric.objects.get(locale="it", product=p, code=L10N_ALL_CODE).value) eq_(0.0, WikiMetric.objects.get(locale="it", product=None, code=L10N_TOP20_CODE).value) eq_(0.0, WikiMetric.objects.get(locale="it", product=None, code=L10N_ALL_CODE).value)
def test_update_l10n_coverage_metrics(self): """Test the cron job that updates l10n coverage metrics.""" p = ProductFactory(visible=True) # Create en-US documents. revisions = RevisionFactory.create_batch( 20, is_approved=True, is_ready_for_localization=True, document__products=[p], document__locale='en-US') r1 = revisions[0] r2 = revisions[1] # Translate one to es. d = DocumentFactory(parent=r1.document, locale='es') ApprovedRevisionFactory(document=d, based_on=r1) # Translate two to de. d = DocumentFactory(parent=r1.document, locale='de') ApprovedRevisionFactory(document=d, based_on=r1) d = DocumentFactory(parent=r2.document, locale='de') ApprovedRevisionFactory(document=d, based_on=r2) # Translate all to ru. for r in revisions: d = DocumentFactory(parent=r.document, locale='ru') RevisionFactory(document=d, based_on=r, is_approved=True) # Call the cronjob update_l10n_coverage_metrics() # Verify es metrics. eq_(6, WikiMetric.objects.filter(locale='es').count()) eq_(5.0, WikiMetric.objects.get(locale='es', product=p, code=L10N_TOP20_CODE).value) eq_(5.0, WikiMetric.objects.get(locale='es', product=p, code=L10N_TOP100_CODE).value) eq_(5.0, WikiMetric.objects.get(locale='es', product=p, code=L10N_ALL_CODE).value) eq_(5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_TOP20_CODE).value) eq_(5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_TOP100_CODE).value) eq_(5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_ALL_CODE).value) # Verify de metrics. eq_(6, WikiMetric.objects.filter(locale='de').count()) eq_(10.0, WikiMetric.objects.get(locale='de', product=p, code=L10N_TOP20_CODE).value) eq_(10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP100_CODE).value) eq_(10.0, WikiMetric.objects.get(locale='de', product=p, code=L10N_ALL_CODE).value) eq_(10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP20_CODE).value) eq_(10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP100_CODE).value) eq_(10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_ALL_CODE).value) # Verify ru metrics. eq_(6, WikiMetric.objects.filter(locale='ru').count()) eq_(100.0, WikiMetric.objects.get(locale='ru', product=p, code=L10N_TOP20_CODE).value) eq_(100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP100_CODE).value) eq_(100.0, WikiMetric.objects.get(locale='ru', product=p, code=L10N_ALL_CODE).value) eq_(100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP20_CODE).value) eq_(100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP100_CODE).value) eq_(100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_ALL_CODE).value) # Verify it metrics. eq_(6, WikiMetric.objects.filter(locale='it').count()) eq_(0.0, WikiMetric.objects.get(locale='it', product=p, code=L10N_TOP20_CODE).value) eq_(0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP100_CODE).value) eq_(0.0, WikiMetric.objects.get(locale='it', product=p, code=L10N_ALL_CODE).value) eq_(0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP20_CODE).value) eq_(0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP100_CODE).value) eq_(0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_ALL_CODE).value)
def test_update_l10n_coverage_metrics(self): """Test the cron job that updates l10n coverage metrics.""" p = product(save=True) # Create en-US documents. for i in range(20): r = revision(is_approved=True, is_ready_for_localization=True, save=True) r.document.products.add(p) r1 = Revision.objects.all()[0] r2 = Revision.objects.all()[1] # Translate one to es. d = document(parent=r1.document, locale='es', save=True) revision(document=d, based_on=r1, is_approved=True, save=True) # Translate two to de. d = document(parent=r1.document, locale='de', save=True) revision(document=d, based_on=r1, is_approved=True, save=True) d = document(parent=r2.document, locale='de', save=True) revision(document=d, based_on=r2, is_approved=True, save=True) # Translate all to ru. for r in Revision.objects.filter(document__locale='en-US'): d = document(parent=r.document, locale='ru', save=True) revision(document=d, based_on=r, is_approved=True, save=True) # Call the cronjob update_l10n_coverage_metrics() # Verify es metrics. eq_(6, WikiMetric.objects.filter(locale='es').count()) eq_( 5.0, WikiMetric.objects.get(locale='es', product=p, code=L10N_TOP20_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_TOP100_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=p, code=L10N_ALL_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_TOP20_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_TOP100_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_ALL_CODE).value) # Verify de metrics. eq_(6, WikiMetric.objects.filter(locale='de').count()) eq_( 10.0, WikiMetric.objects.get(locale='de', product=p, code=L10N_TOP20_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP100_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=p, code=L10N_ALL_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP20_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP100_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_ALL_CODE).value) # Verify ru metrics. eq_(6, WikiMetric.objects.filter(locale='ru').count()) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=p, code=L10N_TOP20_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP100_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=p, code=L10N_ALL_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP20_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP100_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_ALL_CODE).value) # Verify it metrics. eq_(6, WikiMetric.objects.filter(locale='it').count()) eq_( 0.0, WikiMetric.objects.get(locale='it', product=p, code=L10N_TOP20_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP100_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=p, code=L10N_ALL_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP20_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP100_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_ALL_CODE).value)
def test_update_l10n_coverage_metrics(self): """Test the cron job that updates l10n coverage metrics.""" p = ProductFactory(visible=True) # Create en-US documents. revisions = RevisionFactory.create_batch( 20, is_approved=True, is_ready_for_localization=True, document__products=[p], document__locale='en-US') r1 = revisions[0] r2 = revisions[1] # Translate one to es. d = DocumentFactory(parent=r1.document, locale='es') ApprovedRevisionFactory(document=d, based_on=r1) # Translate two to de. d = DocumentFactory(parent=r1.document, locale='de') ApprovedRevisionFactory(document=d, based_on=r1) d = DocumentFactory(parent=r2.document, locale='de') ApprovedRevisionFactory(document=d, based_on=r2) # Translate all to ru. for r in revisions: d = DocumentFactory(parent=r.document, locale='ru') RevisionFactory(document=d, based_on=r, is_approved=True) # Call the cronjob update_l10n_coverage_metrics() # Verify es metrics. eq_(6, WikiMetric.objects.filter(locale='es').count()) eq_( 5.0, WikiMetric.objects.get(locale='es', product=p, code=L10N_TOP20_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=p, code=L10N_TOP100_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=p, code=L10N_ALL_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_TOP20_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_TOP100_CODE).value) eq_( 5.0, WikiMetric.objects.get(locale='es', product=None, code=L10N_ALL_CODE).value) # Verify de metrics. eq_(6, WikiMetric.objects.filter(locale='de').count()) eq_( 10.0, WikiMetric.objects.get(locale='de', product=p, code=L10N_TOP20_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP100_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=p, code=L10N_ALL_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP20_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_TOP100_CODE).value) eq_( 10.0, WikiMetric.objects.get(locale='de', product=None, code=L10N_ALL_CODE).value) # Verify ru metrics. eq_(6, WikiMetric.objects.filter(locale='ru').count()) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=p, code=L10N_TOP20_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP100_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=p, code=L10N_ALL_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP20_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_TOP100_CODE).value) eq_( 100.0, WikiMetric.objects.get(locale='ru', product=None, code=L10N_ALL_CODE).value) # Verify it metrics. eq_(6, WikiMetric.objects.filter(locale='it').count()) eq_( 0.0, WikiMetric.objects.get(locale='it', product=p, code=L10N_TOP20_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP100_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=p, code=L10N_ALL_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP20_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_TOP100_CODE).value) eq_( 0.0, WikiMetric.objects.get(locale='it', product=None, code=L10N_ALL_CODE).value)