def test_can_edit_is_public(self): staff = UserFactory.build(roles=[RoleFactory.build(name='staff')]) creator = UserFactory.build(roles=[RoleFactory.build(name='staff')]) admin = UserFactory.build(roles=[RoleFactory.build(name='admin')]) opportunity = OpportunityFactory.build( is_public=True, planned_publish=self.yesterday, planned_submission_start=self.today, planned_submission_end=self.tomorrow, created_by=creator, created_by_id=creator.id, contact_id=creator.id ) self.assertFalse(opportunity.can_edit(staff)) self.assertFalse(opportunity.can_edit(creator)) self.assertTrue(opportunity.can_edit(admin))
def test_can_edit_is_public(self): staff = UserFactory.build(role=RoleFactory.build(name='staff')) creator = UserFactory.build(role=RoleFactory.build(name='staff')) admin = UserFactory.build(role=RoleFactory.build(name='admin')) opportunity = OpportunityFactory.build( is_public=True, planned_publish=self.yesterday, planned_submission_start=self.today, planned_submission_end=self.tomorrow, created_by=creator, created_by_id=creator.id, contact_id=creator.id) self.assertFalse(opportunity.can_edit(staff)) self.assertFalse(opportunity.can_edit(creator)) self.assertTrue(opportunity.can_edit(admin))
def role_build(collection=None, **id): """Build and return an uncommitted Role instance. Referenced scopes and/or collection are however committed.""" return RoleFactory.build( **id, scopes=ScopeFactory.create_batch(randint(0, 3), type=choice(('odp', 'client'))), collection=collection or (collection := CollectionFactory() if randint(0, 1) else None), collection_id=collection.id if collection else None, )