def test_site_package_make_unique_for_company(self): package = SitePackage.objects.create(**self.site_package_data) package.make_unique_for_company(self.company) self.assertEqual(self.company.site_package, package) package.delete() package = SitePackage.objects.create(**self.site_package_data) first = [] for x in range(1000, 1003): site = SeoSiteFactory(id=x, domain="%s.jobs" % x) package.sites.add(site) first.append(site.pk) self.assertItemsEqual(package.sites.all().values_list('id', flat=True), first) second = [self.site.pk] for x in range(100, 103): site = SeoSiteFactory(id=x, domain="%s.jobs" % x) site.business_units.add(self.bu) site.save() second.append(site.pk) # Site packages with existing sites associated with it should # only end up with the sites for a company. package.make_unique_for_company(self.company) self.assertEqual(self.company.site_package, package) self.assertItemsEqual(package.sites.all().values_list('id', flat=True), second)
def test_site_package_make_unique_for_site(self): package = SitePackage.objects.create(**self.site_package_data) package.make_unique_for_site(self.site) self.assertEqual(self.site.site_package, package) package.delete() package = SitePackage.objects.create(**self.site_package_data) for x in range(100, 110): site = SeoSiteFactory(id=x, domain="%s.jobs" % x) package.sites.add(site) # Site packages with existing sites associated with it should still # only end up with one associated site. site = SeoSiteFactory(id=4000, domain="4000.jobs") package.make_unique_for_site(site) self.assertEqual(site.site_package, package)
def setUp(self): super(BreadboxTests, self).setUp() self.site = SeoSiteFactory() settings.SITE = self.site settings.SITE_ID = self.site.pk settings.STANDARD_FACET = [] for x in range(1, 4): facet = CustomFacetFactory(name_slug='custom-facet-%s' % x, name="Custom Facet %s" % x, always_show=True, show_production=1) SeoSiteFacetFactory(customfacet=facet, seosite=self.site) settings.STANDARD_FACET.append(facet) kwargs = {'seositefacet__seosite': self.site} self.custom_facets = CustomFacet.objects.filter(**kwargs) self.filters = { 'title_slug': None, 'location_slug': None, 'moc_slug': None, 'facet_slug': None, 'company_slug': None, }
def test_page_all_blocks(self): blocks = [] [blocks.append(factories.ContentBlockFactory()) for x in range(0, 5)] row = factories.RowFactory() [models.BlockOrder.objects.create(row=row, block=block, order=block.id) for block in blocks] [blocks.append(factories.LoginBlockFactory()) for x in range(0, 5)] row2 = factories.RowFactory() [models.BlockOrder.objects.create(row=row2, block=block, order=block.id) for block in blocks] page = factories.PageFactory(sites=(SeoSiteFactory(), )) models.RowOrder.objects.create(page=page, row=row, order=row.id) models.RowOrder.objects.create(page=page, row=row2, order=row2.id) all_blocks = page.all_blocks() all_blocks_ids = [block.id for block in all_blocks] block_ids = [block.id for block in blocks] self.assertItemsEqual(block_ids, all_blocks_ids)
def setUp(self): super(TestSecureBlocks, self).setUp() self.staff_user = UserFactory(is_staff=True) self.client = TestClient() self.client.login_user(self.staff_user) self.sb_url = reverse('secure_blocks') SeoSiteFactory(domain='jobs.example.com')
def test_product_filter_by_site_multiple_sites(self): site_in_both_packages = SeoSiteFactory(domain='secondsite.jobs', id=7) single_site_package = SitePackageFactory(owner=self.company) single_site_package.make_unique_for_site(site_in_both_packages) both_sites_package = SitePackageFactory(owner=self.company) both_sites_package.sites.add(site_in_both_packages) both_sites_package.sites.add(self.site) both_sites_package.save() ProductFactory(package=single_site_package, owner=self.company) ProductFactory(package=both_sites_package, owner=self.company) self.assertEqual(Product.objects.all().count(), 2) # Confirm that filtering by both sites gets both jobs. both_sites = [site_in_both_packages, self.site] count = Product.objects.filter_by_sites(both_sites).count() self.assertEqual(count, 2) # Confirm that filtering by the site that only has one job only # gets one job. count = Product.objects.filter_by_sites([self.site]).count() self.assertEqual(count, 1) # Confirm that filtering by the site the site that has both jobs gets # both jobs. count = (Product.objects.filter_by_sites([site_in_both_packages ]).count()) self.assertEqual(count, 2)
def setUp(self): super(MultiHostMiddlewareTestCase, self).setUp() self.bu = BusinessUnit(id=42, date_crawled=datetime.datetime.now(), date_updated=datetime.datetime.now()) self.test_site = SeoSiteFactory(domain=u'buckconsultants.jobs', name=u'buckconsultants')
def test_invoice_filter_by_sites(self): role = RoleFactory(company=self.company) self.user.roles.add(role) for x in range(8800, 8815): domain = 'testsite-%s.jobs' % x site = SeoSiteFactory(id=x, domain=domain, name=domain) site_package = SitePackageFactory(owner=self.company) site_package.make_unique_for_site(site) product = ProductFactory(package=site_package, owner=self.company) for y in range(1, 5): # OfflinePurchaseFactory() automatically creates the invoice. purchase = OfflinePurchaseFactory(owner=self.company, created_by=self.user) OfflineProduct.objects.create(product=product, offline_purchase=purchase) # Confirm it correctly picks up Invoices associated with # OfflinePurchases. self.assertEqual( Invoice.objects.filter_by_sites([site]).count(), 4) for y in range(1, 5): # PurchasedProductFactory() also automatically creates # the invoice. PurchasedProductFactory(product=product, owner=self.company) # Confirm it correctly picks up Invoices associated with # PurchasedProducts. self.assertEqual( Invoice.objects.filter_by_sites([site]).count(), 8) self.assertEqual(Invoice.objects.all().count(), 120)
def test_job_filter_by_site_multiple_sites(self): site_in_both_packages = SeoSiteFactory(domain='secondsite.jobs', id=7) single_site_package = SitePackageFactory(owner=self.company) single_site_package.make_unique_for_site(site_in_both_packages) both_sites_package = SitePackageFactory(owner=self.company) both_sites_package.sites.add(site_in_both_packages) both_sites_package.sites.add(self.site) both_sites_package.save() job_on_both = JobFactory(owner=self.company, created_by=self.user) job_on_both.site_packages.add(both_sites_package) job_on_both.save() job_on_new_site = JobFactory(owner=self.company, created_by=self.user) job_on_new_site.site_packages.add(single_site_package) job_on_new_site.save() self.assertEqual(Job.objects.all().count(), 2) # Confirm that filtering by both sites gets both jobs. both_sites = [site_in_both_packages, self.site] count = Job.objects.filter_by_sites(both_sites).count() self.assertEqual(count, 2) # Confirm that filtering by the site that only has one job only # gets one job. self.assertEqual(Job.objects.filter_by_sites([self.site]).count(), 1) # Confirm that filtering by the site the site that has both jobs gets # both jobs. count = Job.objects.filter_by_sites([site_in_both_packages]).count() self.assertEqual(count, 2)
def test_feed_on_protected_site_no_access(self): from seo.tests.factories import SeoSiteFactory site_id = settings.PROTECTED_SITES.keys()[0] site = SeoSiteFactory(pk=site_id, id=site_id) url = "http://%s?q=query" % site.domain result = update_url_if_protected(url, self.user) self.assertEqual(result, url)
def setUp(self): super(RedirectOverrideMiddlewareTestCase, self).setUp() self.site = SeoSite.objects.get() self.other_site = SeoSiteFactory(domain=u'buckconsultants.jobs', name=u'buckconsultants') self.redirect = QueryRedirect.objects.create( site=self.site, old_path='/jobs/', new_path='https://www.google.com')
def test_new_buid(self): site = SeoSiteFactory() site.business_units.add(self.existing_bu) site.save() url = '/ajax/update_buid/?key=%s&old_buid=%s&new_buid=%s' % ( self.key, self.existing_bu.id, 105) resp = self.client.get(url) self.assertEqual('{"new_bu": "105", "sites": "buckconsultants.jobs"}', resp.content) buid = BusinessUnit.objects.get(pk=105) self.assertTrue(buid.enable_markdown)
def setUp(self): super(DirectSeoTCWithSiteAndConfig, self).setUp() self.site = SeoSiteFactory() self.site.business_units.add(self.businessunit) self.config = ConfigurationFactory.build(status=2) self.config.save() self.site.configurations.add(self.config) # ensure tests in this class use the correct domain self.client = Client(HTTP_HOST=self.site.domain)
def test_product_filter_by_sites(self): for x in range(8800, 8815): domain = 'testsite-%s.jobs' % x site = SeoSiteFactory(id=x, domain=domain, name=domain) site_package = SitePackageFactory(owner=self.company) site_package.make_unique_for_site(site) for y in range(1, 5): ProductFactory(package=site_package, owner=self.company) self.assertEqual( Product.objects.filter_by_sites([site]).count(), 4) self.assertEqual(Product.objects.all().count(), 60)
def setUp(self): super(MyJobsAdminTests, self).setUp() self.user.set_password('5UuYquA@') self.user.is_superuser = True self.user.save() self.account_owner = UserFactory(email='*****@*****.**') SeoSiteFactory(domain='secure.my.jobs') mail.outbox = [] self.data = { '_selected_action': [unicode(self.account_owner.pk)], 'action': 'request_account_access' }
def test_job_filter_by_sites(self): for x in range(8800, 8815): domain = 'testsite-%s.jobs' % x site = SeoSiteFactory(id=x, domain=domain, name=domain) site_package = SitePackageFactory(owner=self.company) site_package.make_unique_for_site(site) for y in range(1, 5): job = JobFactory(owner=self.company, created_by=self.user) job.site_packages.add(site_package) job.save() self.assertEqual(Job.objects.filter_by_sites([site]).count(), 4) self.assertEqual(Job.objects.all().count(), 60)
def test_feed_on_protected_site_with_access(self): from seo.tests.factories import SeoSiteFactory site_id = settings.PROTECTED_SITES.keys()[0] site = SeoSiteFactory(pk=site_id, id=site_id) group_id = settings.PROTECTED_SITES.values()[0][0] Group.objects.create(pk=group_id, name='Test Group') self.user.groups.add(group_id) self.user.save() url = "http://%s?q=query" % site.domain expected_result = "%s&key=%s" % (url, settings.SEARCH_API_KEY) result = update_url_if_protected(url, self.user) self.assertEqual(result, expected_result)
def test_sitepackage_filter_by_sites(self): for x in range(8800, 8815): domain = 'testsite-%s.jobs' % x site = SeoSiteFactory(id=x, domain=domain, name=domain) for y in range(1, 5): site_package = SitePackageFactory(owner=self.company) site_package.sites.add(site) site_package.save() count = SitePackage.objects.filter_by_sites([site]).count() self.assertEqual(count, 4) count = Package.objects.filter_by_sites([site]).count() self.assertEqual(count, 4) self.assertEqual(SitePackage.objects.all().count(), 60) self.assertEqual(Package.objects.all().count(), 60)
def test_productgrouping_filter_by_sites(self): for x in range(8800, 8815): domain = 'testsite-%s.jobs' % x site = SeoSiteFactory(id=x, domain=domain, name=domain) site_package = SitePackageFactory(owner=self.company) site_package.make_unique_for_site(site) product = ProductFactory(package=site_package, owner=self.company) for y in range(1, 5): grouping = ProductGroupingFactory(owner=self.company, display_order=y) ProductOrder.objects.create(product=product, group=grouping, display_order=y) count = ProductGrouping.objects.filter_by_sites([site]).count() self.assertEqual(count, 4) self.assertEqual(ProductGrouping.objects.all().count(), 60)
def test_request_filter_by_site_multiple_sites(self): site_in_both_packages = SeoSiteFactory(domain='secondsite.jobs', id=7) single_site_package = SitePackageFactory(owner=self.company) single_site_package.make_unique_for_site(site_in_both_packages) both_sites_package = SitePackageFactory(owner=self.company) both_sites_package.sites.add(site_in_both_packages) both_sites_package.sites.add(self.site) both_sites_package.save() single_site_product = ProductFactory(package=single_site_package, owner=self.company) single_site_purchasedproduct = PurchasedProductFactory( product=single_site_product, owner=self.company) # Unapproved PurchasedJobs generate Requests. PurchasedJobFactory(owner=self.company, created_by=self.user, purchased_product=single_site_purchasedproduct) both_sites_product = ProductFactory(package=both_sites_package, owner=self.company) both_sites_purchasedproduct = PurchasedProductFactory( product=both_sites_product, owner=self.company) PurchasedJobFactory(owner=self.company, created_by=self.user, purchased_product=both_sites_purchasedproduct) self.assertEqual(Request.objects.all().count(), 2) # Confirm that filtering by both sites gets both products. both_sites = [site_in_both_packages, self.site] count = Request.objects.filter_by_sites(both_sites).count() self.assertEqual(count, 2) # Confirm that filtering by the site that only has one product only # gets one product. count = Request.objects.filter_by_sites([self.site]).count() self.assertEqual(count, 1) # Confirm that filtering by the site the site that has both products # gets both jobs. count = (Request.objects.filter_by_sites([site_in_both_packages ]).count()) self.assertEqual(count, 2)
def test_offlinepurchase_filter_by_sites(self): role = RoleFactory(company=self.company) self.user.roles.add(role) for x in range(8800, 8815): domain = 'testsite-%s.jobs' % x site = SeoSiteFactory(id=x, domain=domain, name=domain) site_package = SitePackageFactory(owner=self.company) site_package.make_unique_for_site(site) product = ProductFactory(package=site_package, owner=self.company) for y in range(1, 5): purchase = OfflinePurchaseFactory(owner=self.company, created_by=self.user) OfflineProduct.objects.create(product=product, offline_purchase=purchase) count = OfflinePurchase.objects.filter_by_sites([site]).count() self.assertEqual(count, 4) self.assertEqual(OfflinePurchase.objects.all().count(), 60)
def test_request_filter_by_sites(self): for x in range(8800, 8815): domain = 'testsite-%s.jobs' % x site = SeoSiteFactory(id=x, domain=domain, name=domain) site_package = SitePackageFactory(owner=self.company) site_package.make_unique_for_site(site) product = ProductFactory(package=site_package, owner=self.company) purchased_product = PurchasedProductFactory(product=product, owner=self.company) for y in range(1, 5): # Unapproved purchased jobs should create Requests. PurchasedJobFactory(owner=self.company, created_by=self.user, purchased_product=purchased_product) self.assertEqual( Request.objects.filter_by_sites([site]).count(), 4) self.assertEqual(Request.objects.all().count(), 60)
def test_purchasedjob_filter_by_sites(self): for x in range(8800, 8815): domain = 'testsite-%s.jobs' % x site = SeoSiteFactory(id=x, domain=domain, name=domain) site_package = SitePackageFactory(owner=self.company) site_package.make_unique_for_site(site) product = ProductFactory(package=site_package, owner=self.company) purchased_product = PurchasedProductFactory(product=product, owner=self.company) for y in range(1, 5): job = PurchasedJobFactory(owner=self.company, created_by=self.user, purchased_product=purchased_product) job.site_packages.add(site_package) job.save() count = PurchasedJob.objects.filter_by_sites([site]).count() self.assertEqual(count, 4) self.assertEqual(PurchasedJob.objects.all().count(), 60)
def test_invoice_from_offlinepurchase_filter_by_site_multiple_sites(self): role = RoleFactory(company=self.company) self.user.roles.add(role) site_in_both_packages = SeoSiteFactory(domain='secondsite.jobs', id=7) single_site_package = SitePackageFactory(owner=self.company) single_site_package.make_unique_for_site(site_in_both_packages) both_sites_package = SitePackageFactory(owner=self.company) both_sites_package.sites.add(site_in_both_packages) both_sites_package.sites.add(self.site) both_sites_package.save() single_site_product = ProductFactory(package=single_site_package, owner=self.company) single_site_purchase = OfflinePurchaseFactory(owner=self.company, created_by=self.user) OfflineProduct.objects.create(product=single_site_product, offline_purchase=single_site_purchase) both_sites_product = ProductFactory(package=both_sites_package, owner=self.company) both_sites_purchase = OfflinePurchaseFactory(owner=self.company, created_by=self.user) OfflineProduct.objects.create(product=both_sites_product, offline_purchase=both_sites_purchase) # Confirm that filtering by both sites gets both groupings. both_sites = [site_in_both_packages, self.site] count = Invoice.objects.filter_by_sites(both_sites).count() self.assertEqual(count, 2) # Confirm that filtering by the site that only has one grouping only # gets one grouping. count = Invoice.objects.filter_by_sites([self.site]).count() self.assertEqual(count, 1) # Confirm that filtering by the site the site that has both jobs gets # both jobs. count = (Invoice.objects.filter_by_sites([site_in_both_packages ]).count()) self.assertEqual(count, 2)
def test_productgrouping_filter_by_site_multiple_sites(self): site_in_both_packages = SeoSiteFactory(domain='secondsite.jobs', id=7) single_site_package = SitePackageFactory(owner=self.company) single_site_package.make_unique_for_site(site_in_both_packages) both_sites_package = SitePackageFactory(owner=self.company) both_sites_package.sites.add(site_in_both_packages) both_sites_package.sites.add(self.site) both_sites_package.save() single_site_product = ProductFactory(package=single_site_package, owner=self.company) single_site_grouping = ProductGroupingFactory(owner=self.company) ProductOrder.objects.create(product=single_site_product, group=single_site_grouping) both_sites_product = ProductFactory(package=both_sites_package, owner=self.company) both_sites_grouping = ProductGroupingFactory(owner=self.company) ProductOrder.objects.create(product=both_sites_product, group=both_sites_grouping) # Confirm that filtering by both sites gets both groupings. both_sites = [site_in_both_packages, self.site] count = ProductGrouping.objects.filter_by_sites(both_sites).count() self.assertEqual(count, 2) # Confirm that filtering by the site that only has one grouping only # gets one grouping. count = ProductGrouping.objects.filter_by_sites([self.site]).count() self.assertEqual(count, 1) # Confirm that filtering by the site the site that has both jobs gets # both jobs. objs = ProductGrouping.objects.filter_by_sites([site_in_both_packages]) count = objs.count() self.assertEqual(count, 2)
def setUp(self): super(ModelTests, self).setUp() self.user = User.objects.create(email='*****@*****.**') self.company = CompanyFactory() CompanyProfile.objects.create(company=self.company) self.site = SeoSiteFactory() #domain='buckconsoltants.jobs') self.bu = BusinessUnitFactory() self.site.business_units.add(self.bu) self.site.save() self.company.job_source_ids.add(self.bu) self.company.save() # Use the newly created site for testing instead of secure.my.jobs. settings.SITE = self.site self.request_data = { 'title': 'title', 'company': self.company.id, 'reqid': '1', 'description': 'sadfljasdfljasdflasdfj', 'link': 'www.google.com', 'on_sites': '0', 'apply_info': '', } self.request_location = { 'city': 'Indianapolis', 'state': 'Indiana', 'state_short': 'IN', 'country': 'United States', 'country_short': 'USA', 'zipcode': '46268', } self.site_package_data = { 'name': 'Test Site Package', }
def setUp(self): self.aa = SeoSiteFactory(domain='aa.com') self.aa2 = SeoSiteFactory(domain='teach.aa.com') self.bb = SeoSiteFactory(domain='bb.com')