Beispiel #1
0
    def test_list_sub_families(self):
        """Test listing sub families"""
        sample_insectSubFamily()
        sample_insectSubFamily(name='test 2')

        res = self.client.get(SUBFAMILY_URL)

        subFamilies = models.InsectSubFamilies.objects.all().order_by('id')
        serializer = serializers.InsectSubFamiliesSerializer(subFamilies,
                                                             many=True)
        self.assertEqual(res.status_code, status.HTTP_200_OK)
        self.assertEqual(res.data, serializer.data)
Beispiel #2
0
    def test_create_tribe_no_name_fail(self):
        """Test creating a tribe without name should fail"""
        subFamily = sample_insectSubFamily()
        payload = {'name': '', 'subFamily': subFamily.id}

        res = self.client.post(TRIBE_URL, payload)

        self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
Beispiel #3
0
    def test_tribe_admin_required(self):
        """Test admin is required"""
        subFamily = sample_insectSubFamily()
        payload = {'name': 'tribe test name', 'subFamily': subFamily.id}

        res = self.client.post(TRIBE_URL, payload)

        self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)
Beispiel #4
0
    def test_create_tribe(self):
        """Test creating a tribe"""
        subFamily = sample_insectSubFamily()
        payload = {'name': 'tribe test name', 'subFamily': subFamily.id}

        res = self.client.post(TRIBE_URL, payload)

        self.assertEqual(res.status_code, status.HTTP_201_CREATED)
        tribe = models.InsectTribes.objects.get(id=res.data['id'])
        self.assertEqual(tribe.name, payload['name'])
        self.assertEqual(tribe.subFamily.id, payload['subFamily'])
Beispiel #5
0
    def test_retrieve_sub_family(self):
        """Test retrieving a sub family"""
        subFamily = sample_insectSubFamily()

        url = detail_sub_family_url(subFamily.id)
        res = self.client.get(url)

        serializer = serializers.InsectSubFamiliesSerializer(subFamily)

        self.assertEqual(res.status_code, status.HTTP_200_OK)
        self.assertEqual(res.data, serializer.data)
Beispiel #6
0
    def test_update_tribe(self):
        """Test updating tribe"""
        tribe = sample_insectTribe()
        subFamily = sample_insectSubFamily(name='other sub family')
        payload = {'name': 'new tribe name', 'subFamily': subFamily.id}

        url = detail_tribe_url(tribe.id)
        res = self.client.patch(url, payload)

        self.assertEqual(res.status_code, status.HTTP_200_OK)
        tribe.refresh_from_db()

        self.assertEqual(tribe.name, payload['name'])
        self.assertEqual(tribe.subFamily.id, payload['subFamily'])
Beispiel #7
0
    def test_update_sub_family(self):
        """Test updating sub family"""
        subFamily = sample_insectSubFamily()
        family = sample_insectFamily(name='other family')
        payload = {'name': 'new sub family name', 'family': family.id}

        url = detail_sub_family_url(subFamily.id)
        res = self.client.patch(url, payload)

        self.assertEqual(res.status_code, status.HTTP_200_OK)
        subFamily.refresh_from_db()

        self.assertEqual(subFamily.name, payload['name'])
        self.assertEqual(subFamily.family.id, payload['family'])