Esempio n. 1
0
    def setUp(self):
        super(TestBeaconJobs, self).setUp()

        self.yesterday = datetime.datetime.today() - datetime.timedelta(days=1)
        today = datetime.datetime.today()
        tomorrow = datetime.datetime.today() + datetime.timedelta(days=1)

        self.category = CategoryFactory.create()
        self.admin = UserFactory.create()

        self.opportunity = OpportunityFactory.create(
            is_public=True, planned_publish=today, planned_submission_start=today,
            planned_submission_end=tomorrow, categories=set([self.category]),
            created_by=self.admin, published_at=today
        )
        self.opportunity2 = OpportunityFactory.create(
            is_public=True, planned_publish=self.yesterday, planned_submission_start=today,
            planned_submission_end=tomorrow, publish_notification_sent=True,
            categories=set([self.category]), created_by=self.admin, published_at=self.yesterday
        )
        self.opportunity3 = OpportunityFactory.create(
            is_public=False, planned_publish=today, planned_submission_start=today,
            planned_submission_end=tomorrow, publish_notification_sent=False,
            categories=set([self.category]), created_by=self.admin, published_at=today
        )
        self.opportunity4 = OpportunityFactory.create(
            is_public=True, planned_publish=self.yesterday, planned_submission_start=self.yesterday,
            planned_submission_end=today, publish_notification_sent=True,
            categories=set([self.category]), created_by=self.admin, published_at=self.yesterday
        )

        VendorFactory.create(opportunities=set([self.opportunity]))
        VendorFactory.create(categories=set([self.category]))
Esempio n. 2
0
 def setUp(self):
     self.asker = VendorFactory.create(email='*****@*****.**')
     super(TestOpportunityQuestions, self).setUp()
     self.q1 = QuestionFactory.create(opportunity=self.opportunity3, asked_by=self.asker)
     QuestionFactory.create(answer_text='an answer', opportunity=self.opportunity3)
     self.opportunity3.created_by = self.staff
     self.opportunity3.save()
     self.answer_url = '/beacon/admin/opportunities/{}/questions/{}'.format(self.opportunity3.id, self.q1.id)
     self.question_url = '/beacon/admin/opportunities/{}/questions'.format(self.opportunity3.id)
Esempio n. 3
0
    def setUp(self):
        super(TestOpportunitiesAdminBase, self).setUp()
        try:
            mkdir(current_app.config.get('UPLOAD_DESTINATION'))
        except OSError:
            rmtree(current_app.config.get('UPLOAD_DESTINATION'))
            mkdir(current_app.config.get('UPLOAD_DESTINATION'))

        import_nigp(current_app.config.get('PROJECT_ROOT') + '/test/mock/nigp.csv')

        self.department1 = DepartmentFactory(name='test')

        AcceptedEmailDomainsFactory.create(domain='foo.com')

        self.admin = UserFactory.create(
            email='*****@*****.**', roles=[RoleFactory.create(name='admin')]
        )
        self.staff = UserFactory.create(
            email='*****@*****.**', roles=[RoleFactory.create(name='staff')]
        )

        self.document = RequiredBidDocumentFactory.create()

        self.vendor = VendorFactory.create(email='*****@*****.**', business_name='foo2')

        self.opportunity1 = OpportunityFactory.create(
            contact=self.admin, created_by=self.staff,
            title=u'tést unïcode title', description=u'tést unïcode déscription',
            is_public=True, is_archived=False, planned_publish=datetime.date.today() + datetime.timedelta(1),
            planned_submission_start=datetime.date.today() + datetime.timedelta(2),
            planned_submission_end=datetime.datetime.today() + datetime.timedelta(2),
            vendor_documents_needed=[self.document.id],
            categories=(Category.query.first(),)
        ).save()
        self.opportunity2 = OpportunityFactory.create(
            contact=self.admin, created_by=self.staff,
            is_public=True, is_archived=False, planned_publish=datetime.date.today(),
            planned_submission_start=datetime.date.today() + datetime.timedelta(2),
            planned_submission_end=datetime.datetime.today() + datetime.timedelta(2),
            categories=(Category.query.first(),), enable_qa=False, qa_start=None,
            qa_end=None
        ).save()
        self.opportunity3 = OpportunityFactory.create(
            contact=self.admin, created_by=self.staff,
            is_public=True, is_archived=False, planned_publish=datetime.date.today() - datetime.timedelta(2),
            planned_submission_start=datetime.date.today() - datetime.timedelta(2),
            planned_submission_end=datetime.datetime.today() - datetime.timedelta(1),
            categories=(Category.query.first(),)
        ).save()
        self.opportunity4 = OpportunityFactory.create(
            contact=self.admin, created_by=self.staff,
            is_public=True, is_archived=False, planned_publish=datetime.date.today() - datetime.timedelta(1),
            planned_submission_start=datetime.date.today(),
            planned_submission_end=datetime.datetime.today() + datetime.timedelta(2),
            title='TEST TITLE!', categories=(Category.query.first(),)
        ).save()
Esempio n. 4
0
    def test_signup_download_staff(self):
        # insert some vendors
        categories = Category.query.all()
        VendorFactory.create(categories=(categories[0],))
        VendorFactory.create(categories=categories)

        self.login_user(self.staff)
        request = self.client.get('/beacon/admin/signups')
        self.assertEquals(request.mimetype, 'text/tsv')
        self.assertEquals(
            request.headers.get('Content-Disposition'),
            'attachment; filename=vendors-{}.tsv'.format(datetime.date.today())
        )

        # python adds an extra return character to the end,
        # so we chop it off. we should have the header row and
        # the two rows we inserted above
        tsv_data = request.data.split('\n')[:-1]
        self.assertEquals(len(tsv_data), 4)
        for row in tsv_data:
            self.assertEquals(len(row.split('\t')), 11)
Esempio n. 5
0
    def test_signup_download_staff(self):
        # insert some vendors
        categories = Category.query.all()
        VendorFactory.create(categories=(categories[0], ))
        VendorFactory.create(categories=categories)

        self.login_user(self.staff)
        request = self.client.get('/beacon/admin/signups')
        self.assertEquals(request.mimetype, 'text/tsv')
        self.assertEquals(
            request.headers.get('Content-Disposition'),
            'attachment; filename=vendors-{}.tsv'.format(
                datetime.date.today()))

        # python adds an extra return character to the end,
        # so we chop it off. we should have the header row and
        # the two rows we inserted above
        tsv_data = request.data.split('\n')[:-1]
        self.assertEquals(len(tsv_data), 4)
        for row in tsv_data:
            self.assertEquals(len(row.split('\t')), 11)
Esempio n. 6
0
    def setUp(self):
        super(TestOpportunityPublic, self).setUp()
        self.opportunity3.is_public = False
        self.opportunity3.categories = set([Category.query.all()[-1]])
        self.opportunity3.planned_submission_end = datetime.datetime.today() + datetime.timedelta(days=5)
        self.vendor = VendorFactory.create(
            business_name='foobar',
            email='*****@*****.**',
            categories=set([Category.query.all()[-1]])
        )
        db.session.commit()

        self.opportunity1.created_by = self.staff
        self.opportunity3.created_by = self.staff
Esempio n. 7
0
    def setUp(self):
        super(TestOpportunityPublic, self).setUp()
        self.opportunity3.is_public = False
        self.opportunity3.categories = set([Category.query.all()[-1]])
        self.opportunity3.planned_submission_end = datetime.datetime.today(
        ) + datetime.timedelta(days=5)
        self.vendor = VendorFactory.create(business_name='foobar',
                                           email='*****@*****.**',
                                           categories=set(
                                               [Category.query.all()[-1]]))
        db.session.commit()

        self.opportunity1.created_by = self.staff
        self.opportunity3.created_by = self.staff