def test_add_samples_v2_adds_new_samples_to_existing_in_comparison_and_returns_new_comp_id(self): from test_utils.factories import SampleFactory comp = ComparisonFactory() sample = SampleFactory() old_cfs = comp.clonofilters_all() old_sample_set = set([cf.sample for cf in comp.clonofilters_all()]) url = reverse('cf_comparisons.views.add_samples_v2') post_data = {'comparison': comp.id, 'samples': [sample.id]} response = self.client.post(url, data=post_data) new_comp_id = response.content new_comp = Comparison.objects.get(id=new_comp_id) new_sample_set = set([cf.sample for cf in new_comp.clonofilters_all()]) self.assertTrue(sample in new_sample_set) self.assertEqual(old_sample_set, new_sample_set) self.assertTrue(old_sample_set.issubset(new_sample_set))
def test_remove_clonofilter_removes_a_clonofilter_from_a_comparison(self): comp = ComparisonFactory() cfs = list(comp.clonofilters_all()) del_cf = cfs.pop() url = reverse('cf_comparisons.views.remove_clonofilter') post_data = {'comparison': comp.id, 'clonofilter': del_cf.id} response = self.client.post(url, data=post_data) self.assertNotEqual(comp.id, response.content) new_comp = Comparison.objects.get(id=response.content) self.assertEqual([cf.id for cf in cfs], [cf.id for cf in new_comp.clonofilters_all()])