Beispiel #1
0
    def test_remove_dangling_basket_variables_study_specific(self):
        """Can we clean up BasketVariables belonging to a specific study?"""
        other_study = StudyFactory(name="a_different_study")
        dataset = DatasetFactory(name="a_different_study")
        dataset.study = other_study
        dataset.save()
        new_variable = Variable()
        new_variable.name = "a_different_variable"
        new_variable.dataset = dataset
        basket_variable = BasketVariable(basket_id=self.basket.id,
                                         variable_id=self.variable.id)
        new_basket = Basket()
        new_basket.study = other_study
        new_basket.user = self.basket.user
        new_basket.save()
        new_basket_variable = BasketVariable()
        new_basket_variable.variable = new_variable
        new_basket_variable.basket = new_basket
        new_basket_variable.save()

        basket_variable.save()
        variable_id = basket_variable.variable.id
        basket_variable.variable.delete()
        new_variable.delete()
        basket_variable.clean_basket_variables(
            study_name=self.basket.study.name)
        with self.assertRaises(BasketVariable.DoesNotExist):
            BasketVariable.objects.get(variable__id=variable_id)
Beispiel #2
0
    def test_query_parameter_study(self):
        """Define study parameter behavior."""
        dataset = DatasetFactory(name="different-dataset")
        study = StudyFactory(name="different-study")
        study_name = study.name
        dataset.study = study
        dataset.save()
        variable_list = []

        for number in range(1, 11):
            _variable = VariableFactory(name=str(number))
            _variable.dataset = dataset
            _variable.save()
            variable_list.append(_variable)

        for number in range(11, 21):
            _variable = VariableFactory(name=str(number))
            variable_list.append(_variable)

        response = self.client.get(self.API_PATH + f"?study={study_name}")
        content = json.loads(response.content)
        self.assertEqual(10, len(content))