Ejemplo n.º 1
0
    def test_list_tribe(self):
        """Test listing tribes"""
        sample_insectTribe()
        sample_insectTribe(name='test 2')

        res = self.client.get(TRIBE_URL)

        tribes = models.InsectTribes.objects.all().order_by('id')
        serializer = serializers.InsectTribesSerializer(tribes, many=True)
        self.assertEqual(res.status_code, status.HTTP_200_OK)
        self.assertEqual(res.data, serializer.data)
Ejemplo n.º 2
0
    def test_create_genus_no_name_fail(self):
        """Test creating a genus without name should fail"""
        tribe = sample_insectTribe()
        payload = {'name': '', 'tribe': tribe.id}

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

        self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 3
0
    def test_genus_admin_required(self):
        """Test admin is required"""
        tribe = sample_insectTribe()
        payload = {'name': 'genus test name', 'tribe': tribe.id}

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

        self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)
Ejemplo n.º 4
0
    def test_create_genus(self):
        """Test creating a genus"""
        tribe = sample_insectTribe()
        payload = {'name': 'genus test name', 'tribe': tribe.id}

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

        self.assertEqual(res.status_code, status.HTTP_201_CREATED)
        genus = models.InsectGenera.objects.get(id=res.data['id'])
        self.assertEqual(genus.name, payload['name'])
        self.assertEqual(genus.tribe.id, payload['tribe'])
Ejemplo n.º 5
0
    def test_retrieve_tribe(self):
        """Test retrieving a tribe"""
        tribe = sample_insectTribe()

        url = detail_tribe_url(tribe.id)
        res = self.client.get(url)

        serializer = serializers.InsectTribesSerializer(tribe)

        self.assertEqual(res.status_code, status.HTTP_200_OK)
        self.assertEqual(res.data, serializer.data)
Ejemplo n.º 6
0
    def test_update_genus(self):
        """Test updating genus"""
        genus = sample_insectGenus()
        tribe = sample_insectTribe(name='other tribe')
        payload = {'name': 'new genus name', 'tribe': tribe.id}

        url = detail_genus_url(genus.id)
        res = self.client.patch(url, payload)

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

        self.assertEqual(genus.name, payload['name'])
        self.assertEqual(genus.tribe.id, payload['tribe'])
Ejemplo n.º 7
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'])