Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Example app tests #13

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .serializers import SampleSerializer # noqa: F401
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from rest_framework import serializers
from opint_framework.apps.example_app.models import Sample


class SampleSerializer(serializers.ModelSerializer):
class Meta:
model = Sample
fields = ['id', 'sample_message']
7 changes: 7 additions & 0 deletions opint_framework/apps/example_app/api/views/views.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
from rest_framework import viewsets
from rest_framework.response import Response

from opint_framework.apps.example_app.models import Sample
from opint_framework.apps.example_app.api.serializers import SampleSerializer


class SampleViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows SampleModel to be viewed or edited.
"""
queryset = Sample.objects.all()
serializer_class = SampleSerializer

def index(request):
return Response({"Result":"OK"})

2 changes: 1 addition & 1 deletion opint_framework/apps/example_app/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
from .models import SampleModel # noqa: F401
from .models import Sample # noqa: F401
2 changes: 1 addition & 1 deletion opint_framework/apps/example_app/models/models.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from django.db import models


class SampleModel(models.Model):
class Sample(models.Model):
"""
Sample Model.
"""
Expand Down
Empty file.
60 changes: 60 additions & 0 deletions opint_framework/apps/example_app/tests/test_sample.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import json
from rest_framework import status
from rest_framework.reverse import reverse
from rest_framework.test import APITestCase

from opint_framework.apps.example_app.models import Sample


class SampleViewSetTestCase(APITestCase):
list_url = reverse('sample-list')

def test_home_page(self):
home_url = reverse('sample-home')

res = self.client.get(home_url)
self.assertEquals(res.status_code, status.HTTP_200_OK)
self.assertEquals(json.loads(res.content)['Result'], 'OK')

def test_list_samples(self):
res = self.client.get(self.list_url, format='json')
self.assertEquals(res.status_code, status.HTTP_200_OK)

def test_create_samples(self):
data = {'sample_message': 'TEST'}
res = self.client.post(self.list_url, data, format='json')

self.assertEquals(res.status_code, status.HTTP_201_CREATED)
self.assertEquals(Sample.objects.count(), 1)
self.assertEquals(Sample.objects.first().sample_message, 'TEST')

def test_list_samples_populated(self):
Sample.objects.create(sample_message='TEST')

res = self.client.get(self.list_url)

self.assertEquals(res.status_code, status.HTTP_200_OK)
self.assertEquals(len(res.data['results']), 1)

def test_sample_detail(self):
sample = Sample.objects.create(sample_message='TEST')

detail_url = reverse('sample-detail', args=[sample.pk])
res = self.client.get(detail_url)

self.assertEquals(res.status_code, status.HTTP_200_OK)

def test_sample_detail_invalid(self):
detail_url = reverse('sample-detail', args=[9999])
res = self.client.get(detail_url)

self.assertEquals(res.status_code, status.HTTP_404_NOT_FOUND)

def test_delete_sample(self):
sample = Sample.objects.create(sample_message='TEST')
detail_url = reverse('sample-detail', args=[sample.pk])

res = self.client.delete(detail_url, format='json')

self.assertEquals(res.status_code, status.HTTP_204_NO_CONTENT)
self.assertEquals(Sample.objects.count(), 0)
13 changes: 10 additions & 3 deletions opint_framework/apps/example_app/urls.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
from django.urls import path
from .api.views import SampleViewSet
from django.urls import path, include

from rest_framework import routers

from opint_framework.apps.example_app.api.views import SampleViewSet

router = routers.DefaultRouter()
router.register(r'sample', SampleViewSet)

urlpatterns = [

# Could be accessed as http://127.0.0.1:8000/example_app/api/
path("", SampleViewSet.index, name='index'),
path("home", SampleViewSet.index, name='sample-home'),
path('', include(router.urls)),
]
4 changes: 2 additions & 2 deletions opint_framework/core/tests/test_issuecategory.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from opint_framework.core.models import IssueCategory


class ActionViewSetTestCase(APITestCase):
class IssueCategoryViewSetTestCase(APITestCase):
list_url = reverse('issuecategory-list')

def test_list_issuecategories(self):
Expand Down Expand Up @@ -36,7 +36,7 @@ def test_issuecategory_detail(self):

self.assertEquals(res.status_code, status.HTTP_200_OK)

def test_action_detail_invalid(self):
def test_issuecategory_detail_invalid(self):
detail_url = reverse('issuecategory-detail', args=[9999])
res = self.client.get(detail_url)

Expand Down
4 changes: 2 additions & 2 deletions opint_framework/core/tests/test_solution.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from opint_framework.core.models import Action, Solution


class ActionViewSetTestCase(APITestCase):
class SolutionViewSetTestCase(APITestCase):
list_url = reverse('solution-list')

def test_list_solutions(self):
Expand Down Expand Up @@ -45,7 +45,7 @@ def test_solution_detail(self):

self.assertEquals(res.status_code, status.HTTP_200_OK)

def test_action_detail_invalid(self):
def test_solution_detail_invalid(self):
detail_url = reverse('solution-detail', args=[9999])
res = self.client.get(detail_url)

Expand Down