def test_issues_with_labels(self): ''' Test that /api/issues/labels works as expected. Should return issues with any of the passed in label names ''' project = ProjectFactory() db.session.flush() issue = IssueFactory(project_id=project.id) issue2 = IssueFactory(project_id=project.id) label1 = LabelFactory(name=u'enhancement') label2 = LabelFactory(name=u'hack') issue.labels = [label1] issue2.labels = [label2] db.session.commit() response = self.app.get('/api/issues/labels/enhancement') self.assertEqual(response.status_code, 200) response = json.loads(response.data) self.assertEqual(response['total'], 1) self.assertEqual(response['objects'][0]['labels'][0]['name'], u'enhancement') response = self.app.get('/api/issues/labels/enhancement,hack') self.assertEqual(response.status_code, 200) response = json.loads(response.data) self.assertEqual(response['total'], 0)
def test_cascading_delete(self): ''' Test that when an organization is deleted, all of its projects, issues, stories, events are deleted ''' # Create an organization organization = OrganizationFactory() db.session.flush() # Create a project, an event and a story project = ProjectFactory(organization_name=organization.name) EventFactory(organization_name=organization.name) StoryFactory(organization_name=organization.name) db.session.flush() # Create an issue and give it a label issue = IssueFactory(project_id=project.id) db.session.flush() label = LabelFactory() issue.labels = [label] db.session.flush() # Get all of the stuff orgs = Organization.query.all() eve = Event.query.all() sto = Story.query.all() proj = Project.query.all() iss = Issue.query.all() lab = Label.query.all() # Verify they are there self.assertEqual(len(orgs), 1) self.assertEqual(len(eve), 1) self.assertEqual(len(sto), 1) self.assertEqual(len(proj), 1) self.assertEqual(len(iss), 1) self.assertEqual(len(lab), 1) # Delete the one organization db.session.delete(orgs[0]) db.session.commit() # Get all the stuff again orgs = Organization.query.all() eve = Event.query.all() sto = Story.query.all() proj = Project.query.all() iss = Issue.query.all() lab = Label.query.all() # Make sure they are all gone self.assertEqual(len(orgs), 0) self.assertEqual(len(eve), 0) self.assertEqual(len(sto), 0) self.assertEqual(len(proj), 0) self.assertEqual(len(iss), 0) self.assertEqual(len(lab), 0)