def test_lot(): assert api_stubs.lot(slug="foo") == { "id": 1, "slug": "foo", "name": "Foo", "allowsBrief": False, "oneServiceLimit": False, }
def setup(self): super(TestResponseResultPage, self).setup() lots = [api_stubs.lot(slug="digital-specialists", allows_brief=True)] self.framework = api_stubs.framework(status="live", slug="digital-outcomes-and-specialists", clarification_questions_open=False, lots=lots) self.brief = api_stubs.brief(status='live') self.brief['briefs']['essentialRequirements'] = ['Must one', 'Must two', 'Must three'] self.brief['briefs']['evaluationType'] = ['Interview', 'Scenario or test', 'Presentation', 'Written proposal', 'Work history'] with self.app.test_client(): self.login(application_id=1)
def test_get_framework_and_lot_404s_if_allows_brief_required(self): data_api_client = mock.Mock() data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='live', lots=[ api_stubs.lot(slug='digital-specialists', allows_brief=False) ] ) self.assertRaises(NotFound, helpers.buyers_helpers.get_framework_and_lot, 'digital-outcomes-and-specialists', 'digital-specialists', data_api_client, {'must_allow_brief': True})
def test_get_framework_and_lot_404s_for_wrong_framework_status(self): data_api_client = mock.Mock() data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='open', lots=[ api_stubs.lot(slug='digital-specialists', allows_brief=True) ] ) self.assertRaises(NotFound, helpers.buyers_helpers.get_framework_and_lot, 'digital-outcomes-and-specialists', 'digital-specialists', data_api_client, {'status': 'live'})
def test_404_if_framework_status_is_not_live(self, data_api_client): with self.app.app_context(): data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='open', lots=[ api_stubs.lot(slug='user-research-studios'), ] ) res = self.client.get( "/buyers/frameworks/digital-outcomes-and-specialists/requirements/user-research-studios") assert res.status_code == 404
def test_404_if_lot_does_not_allow_brief(self, data_api_client): with self.app.app_context(): data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='live', lots=[ api_stubs.lot(slug='digital-specialists', allows_brief=False) ] ) res = self.client.get( "/buyers/frameworks/digital-outcomes-and-specialists/requirements/digital-specialists") assert res.status_code == 404
def setup(self): super(TestRespondToBrief, self).setup() self.brief = api_stubs.brief(status='live') self.brief['briefs']['essentialRequirements'] = ['Essential one', 'Essential two', 'Essential three'] self.brief['briefs']['niceToHaveRequirements'] = ['Nice one', 'Top one', 'Get sorted'] lots = [api_stubs.lot(slug="digital-specialists", allows_brief=True)] self.framework = api_stubs.framework(status="live", slug="digital-outcomes-and-specialists", clarification_questions_open=False, lots=lots) with self.app.test_client(): self.login()
def test_show_start_studios_info_page(self, data_api_client): with self.app.app_context(): data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='live', lots=[ api_stubs.lot(slug='user-research-studios'), ] ) res = self.client.get( "/buyers/frameworks/digital-outcomes-and-specialists/requirements/user-research-studios") assert res.status_code == 200 document = html.fromstring(res.get_data(as_text=True)) assert document.xpath('//h1')[0].text_content().strip() == "Find a user research lab"
def test_404_if_lot_does_not_allow_brief(self, data_api_client): with self.app.app_context(): data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='live', lots=[ api_stubs.lot(slug='digital-specialists', allows_brief=False) ] ) res = self.client.get( self.expand_path( "/buyers/frameworks/digital-outcomes-and-specialists/requirements/digital-specialists" )) assert res.status_code == 404
def test_show_start_brief_info_page(self, data_api_client): with self.app.app_context(): data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-service-professionals', status='live', lots=[ api_stubs.lot(slug='digital-professionals', allows_brief=True), ]) res = self.client.get( self.expand_path( "/buyers/frameworks/digital-service-professionals/requirements/digital-professionals" )) assert res.status_code == 404
def setup(self): super(TestCreateResponseToBrief, self).setup() self.brief = api_stubs.brief(status='live', lot_slug='digital-specialists') self.brief['briefs']['essentialRequirements'] = ['Essential one', 'Essential two', 'Essential three'] self.brief['briefs']['niceToHaveRequirements'] = ['Nice one', 'Top one', 'Get sorted'] self.brief['briefs']['dates'] = {} self.brief['briefs']['dates']['closing_time'] = '2016-11-23T07:00:00+00:00' lots = [api_stubs.lot(slug="digital-specialists", allows_brief=True)] self.framework = api_stubs.framework(status="live", slug="digital-outcomes-and-specialists", clarification_questions_open=False, lots=lots) with self.app.test_client(): self.login(application_id=1)
def test_404_if_framework_status_is_not_live(self, data_api_client): with self.app.app_context(): data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='open', lots=[ api_stubs.lot(slug='user-research-studios'), ] ) res = self.client.get( self.expand_path( "/buyers/frameworks/digital-outcomes-and-specialists/requirements/user-research-studios" )) assert res.status_code == 404
def test_show_start_studios_info_page(self, data_api_client): with self.app.app_context(): data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='live', lots=[ api_stubs.lot(slug='user-research-studios'), ] ) res = self.client.get( self.expand_path( "/buyers/frameworks/digital-outcomes-and-specialists/requirements/user-research-studios" )) assert res.status_code == 200 document = html.fromstring(res.get_data(as_text=True)) assert document.xpath('//h1')[0].text_content().strip() == "Find a user research lab"
def test_show_start_brief_info_page(self, data_api_client): with self.app.app_context(): data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-service-professionals', status='live', lots=[ api_stubs.lot(slug='digital-professionals', allows_brief=True), ] ) res = self.client.get( self.expand_path( "/buyers/frameworks/digital-service-professionals/requirements/digital-professionals" )) assert res.status_code == 200 document = html.fromstring(res.get_data(as_text=True)) assert document.xpath('//h1')[0].text_content().strip() == "Finding an individual specialist"
def setup(self): super(TestResponseResultPage, self).setup() lots = [api_stubs.lot(slug="digital-specialists", allows_brief=True)] self.framework = api_stubs.framework( status="live", slug="digital-outcomes-and-specialists", clarification_questions_open=False, lots=lots) self.brief = api_stubs.brief(status='live') self.brief['briefs']['essentialRequirements'] = [ 'Must one', 'Must two', 'Must three' ] self.brief['briefs']['evaluationType'] = [ 'Interview', 'Scenario or test', 'Presentation', 'Written proposal', 'Work history' ] with self.app.test_client(): self.login(application_id=1)
def setup(self): super(TestRespondToBrief, self).setup() self.brief = api_stubs.brief(status='live') self.brief['briefs']['essentialRequirements'] = [ 'Essential one', 'Essential two', 'Essential three' ] self.brief['briefs']['niceToHaveRequirements'] = [ 'Nice one', 'Top one', 'Get sorted' ] lots = [api_stubs.lot(slug="digital-specialists", allows_brief=True)] self.framework = api_stubs.framework( status="live", slug="digital-outcomes-and-specialists", clarification_questions_open=False, lots=lots) with self.app.test_client(): self.login()
def test_get_framework_and_lot(self): data_api_client = mock.Mock() data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='live', lots=[ api_stubs.lot(slug='digital-specialists', allows_brief=True) ]) framework, lot = helpers.buyers_helpers.get_framework_and_lot( 'digital-outcomes-and-specialists', 'digital-specialists', data_api_client) assert framework['status'] == "live" assert framework['name'] == 'Digital Outcomes and Specialists' assert framework['slug'] == 'digital-outcomes-and-specialists' assert framework['clarificationQuestionsOpen'] is True assert lot == { 'slug': 'digital-specialists', 'oneServiceLimit': False, 'allowsBrief': True, 'id': 1, 'name': 'Digital Specialists', }
def test_get_framework_and_lot(self): data_api_client = mock.Mock() data_api_client.get_framework.return_value = api_stubs.framework( slug='digital-outcomes-and-specialists', status='live', lots=[ api_stubs.lot(slug='digital-specialists', allows_brief=True) ] ) framework, lot = helpers.buyers_helpers.get_framework_and_lot('digital-outcomes-and-specialists', 'digital-specialists', data_api_client) assert framework['status'] == "live" assert framework['name'] == 'Digital Outcomes and Specialists' assert framework['slug'] == 'digital-outcomes-and-specialists' assert framework['clarificationQuestionsOpen'] is True assert lot == {'slug': 'digital-specialists', 'oneServiceLimit': False, 'allowsBrief': True, 'id': 1, 'name': 'Digital Specialists', }
def setup(self): super(TestCreateResponseToBrief, self).setup() self.brief = api_stubs.brief(status='live', lot_slug='digital-specialists') self.brief['briefs']['essentialRequirements'] = [ 'Essential one', 'Essential two', 'Essential three' ] self.brief['briefs']['niceToHaveRequirements'] = [ 'Nice one', 'Top one', 'Get sorted' ] self.brief['briefs']['dates'] = {} self.brief['briefs']['dates'][ 'closing_time'] = '2016-11-23T07:00:00+00:00' lots = [api_stubs.lot(slug="digital-specialists", allows_brief=True)] self.framework = api_stubs.framework( status="live", slug="digital-outcomes-and-specialists", clarification_questions_open=False, lots=lots) with self.app.test_client(): self.login(application_id=1)
def test_lot_name_default_is_made_from_slug(): assert api_stubs.lot(slug="my-lot")["name"] == "My Lot"
def setup(self): super(TestBriefQuestionAndAnswerSession, self).setup() self.brief = api_stubs.brief(status='live', lot_slug='digital-specialists') self.brief['briefs']['essentialRequirements'] = [ 'Essential one', 'Essential two', 'Essential three' ] self.brief['briefs']['niceToHaveRequirements'] = [ 'Nice one', 'Top one', 'Get sorted' ] self.brief['briefs']['dates'] = {} self.brief['briefs']['dates'][ 'closing_time'] = '2017-11-23T07:00:00+00:00' self.brief['briefs']['questionAndAnswerSessionDetails'] = False lots = [api_stubs.lot(slug="digital-specialists", allows_brief=True)] self.framework = api_stubs.framework( status="live", slug="digital-outcomes-and-specialists", clarification_questions_open=False, lots=lots) with self.app.test_client(): self.login(application_id=1) self.supplier = { 'supplier': { "supplierCode": 5678, "application_id": 9876, "frameworks": [{ "agreement_details": None, "agreement_returned_at": None, "countersigned_at": None, "declaration": {}, "framework_id": 7, "links": {}, "on_framework": None, "supplier_code": 5678 }], "agreed_to_master_agreement": True, "domains": { "assessed": [ "Agile delivery and Governance", "Cyber security", "User research and Design" ], "legacy": [ "Agile delivery and Governance", "Cyber security", "User research and Design" ], "unassessed": [] }, } } self.application = { "application": { "application_id": 9876, "type": "new", "status": "approved" } } class CurrentUser(object): pass self.current_user = CurrentUser() self.current_user.application_id = "9876", self.current_user.supplier_code = "5678", self.current_user.role = "supplier", self.current_user.email = "*****@*****.**", self.current_user.id = "5678",
def setup(self): super(TestBriefQuestionAndAnswerSession, self).setup() self.brief = api_stubs.brief(status='live', lot_slug='digital-specialists') self.brief['briefs']['essentialRequirements'] = ['Essential one', 'Essential two', 'Essential three'] self.brief['briefs']['niceToHaveRequirements'] = ['Nice one', 'Top one', 'Get sorted'] self.brief['briefs']['dates'] = {} self.brief['briefs']['dates']['closing_time'] = '2017-11-23T07:00:00+00:00' self.brief['briefs']['questionAndAnswerSessionDetails'] = False lots = [api_stubs.lot(slug="digital-specialists", allows_brief=True)] self.framework = api_stubs.framework(status="live", slug="digital-outcomes-and-specialists", clarification_questions_open=False, lots=lots) with self.app.test_client(): self.login(application_id=1) self.supplier = { 'supplier': { "supplierCode": 5678, "application_id": 9876, "frameworks": [ { "agreement_details": None, "agreement_returned_at": None, "countersigned_at": None, "declaration": {}, "framework_id": 7, "links": {}, "on_framework": None, "supplier_code": 5678 } ], "agreed_to_master_agreement": True, "domains": { "assessed": [ "Agile delivery and Governance", "Cyber security", "User research and Design" ], "legacy": [ "Agile delivery and Governance", "Cyber security", "User research and Design" ], "unassessed": [] }, } } self.application = { "application": { "application_id": 9876, "type": "new", "status": "approved" } } class CurrentUser(object): pass self.current_user = CurrentUser() self.current_user.application_id = "9876", self.current_user.supplier_code = "5678", self.current_user.role = "supplier", self.current_user.email = "*****@*****.**", self.current_user.id = "5678",