def test_list_product_request_filters_private_products(self): self.clearQueue() self.useFixture(FakeLibrarian()) owner = self.factory.makePerson() product = self.factory.makeProduct( owner=owner, information_type=InformationType.PROPRIETARY) self.factory.makeTranslationImportQueueEntry( productseries=self.factory.makeProductSeries(product=product)) self.assertEqual([], list_product_request_targets(None, True)) self.assertEqual([product], list_product_request_targets(owner, True))
def test_list_product_request_filters_private_products(self): self.clearQueue() self.useFixture(FakeLibrarian()) owner = self.factory.makePerson() product = self.factory.makeProduct(owner=owner, information_type=InformationType.PROPRIETARY) self.factory.makeTranslationImportQueueEntry( productseries=self.factory.makeProductSeries(product=product)) self.assertEqual([], list_product_request_targets(None, True)) self.assertEqual([product], list_product_request_targets(owner, True))
def test_list_product_request_targets_filters_status(self): self.clearQueue() self.useFixture(FakeLibrarian()) entry_status = RosettaImportStatus.APPROVED other_status = RosettaImportStatus.NEEDS_REVIEW entry = self.factory.makeTranslationImportQueueEntry( productseries=self.factory.makeProductSeries()) removeSecurityProxy(entry).status = entry_status self.assertEqual( [], list_product_request_targets( None, TranslationImportQueueEntry.status == other_status)) self.assertEqual( [entry.productseries.product], list_product_request_targets( None, TranslationImportQueueEntry.status == entry_status))
def test_list_product_request_targets_ignores_inactive_products(self): self.clearQueue() self.useFixture(FakeLibrarian()) product = self.factory.makeProduct() product.active = False self.factory.makeTranslationImportQueueEntry( productseries=self.factory.makeProductSeries(product=product)) self.assertEqual([], list_product_request_targets(None, False))
def test_list_product_request_targets_does_not_duplicate(self): # list_product_request_targets will list a product only once. self.clearQueue() self.useFixture(FakeLibrarian()) product = self.factory.makeProduct() productseries = [ self.factory.makeProductSeries(product=product) for counter in range(2)] for series in productseries: for counter in range(2): self.factory.makeTranslationImportQueueEntry( productseries=series) self.assertEqual([product], list_product_request_targets(None, True))
def test_list_product_request_targets_orders_by_product_name(self): self.clearQueue() self.useFixture(FakeLibrarian()) names = ['c', 'a', 'b'] products = [self.factory.makeProduct(name=name) for name in names] productseries = [ self.factory.makeProductSeries(product=product) for product in products ] for series in productseries: self.factory.makeTranslationImportQueueEntry(productseries=series) self.assertEqual(sorted(names), [ product.name for product in list_product_request_targets(None, True) ])
def test_list_product_request_targets_orders_by_product_name(self): self.clearQueue() self.useFixture(FakeLibrarian()) names = ['c', 'a', 'b'] products = [self.factory.makeProduct(name=name) for name in names] productseries = [ self.factory.makeProductSeries(product=product) for product in products] for series in productseries: self.factory.makeTranslationImportQueueEntry(productseries=series) self.assertEqual( sorted(names), [ product.name for product in list_product_request_targets(None, True)])
def test_list_product_request_targets_ignores_distro_uploads(self): self.clearQueue() self.useFixture(FakeLibrarian()) self.factory.makeTranslationImportQueueEntry( distroseries=self.factory.makeDistroSeries()) self.assertEqual([], list_product_request_targets(None, True))