csv loading working

This commit is contained in:
Sam
2021-02-03 09:59:01 +00:00
parent a80d4565db
commit cc0bb2ebbf
4 changed files with 37 additions and 34 deletions

View File

@@ -10,8 +10,6 @@ from django.test import TestCase
from rest_framework.test import APITestCase
from rest_framework import status
import requests
from core.utils import get_tokens_for_user
from companies.models import Company
@@ -382,12 +380,13 @@ class UpdateUserViewTest(APITestCase):
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
class LoadCoopManagerTestCase(TestCase):
class LoadCoopManagerTestCase(APITestCase):
def setUp(self):
"""Tests setup
"""
self.endpoint = 'http://127.0.0.1:8000/api/v1/load_coops/'
self.url = 'http://127.0.0.1:8000/api/v1/load_coops/'
self.endpoint = '/api/v1/load_coops/'
self.user_factory = factories.CustomUserFactory
self.user_model = models.CustomUser
self.company_model = Company
@@ -400,24 +399,26 @@ class LoadCoopManagerTestCase(TestCase):
self.user = self.user_factory(email=self.reg_email, is_active=True)
self.user.set_password(self.password)
self.user.save()
# test CSV file path
self.csv_path = 'datasets/test_coop.csv'
def test_admin_can_load_csv(self):
company_count = self.company_model.objects.count()
user_count = self.user_model.objects.count()
# read csv file
csv_file = '../coop.csv'
files = {'csv_file': open(csv_file,'rt')}
csv_file = 'datasets/test_coop.csv'
files = {'csv_file': open(self.csv_path,'rt')}
# Authenticate
token = get_tokens_for_user(self.admin_user)
headers = {'Authorization': f"Bearer {token['access']}"}
self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {token['access']}")
# send in request
response = requests.post(self.endpoint, files=files, headers=headers)
# check response
response = self.client.post(self.url, files)
# check re sponse
self.assertEqual(response.status_code, 200)
# check for object creation
self.assertNotEqual(company_count, self.company_model.objects.count())
self.assertNotEqual(user_count, self.user_model.objects.count())
@@ -427,18 +428,17 @@ class LoadCoopManagerTestCase(TestCase):
user_count = self.user_model.objects.count()
# read csv file
csv_file = '../coop.csv'
files = {'csv_file': open(csv_file,'r')}
files = {'csv_file': open(self.csv_path,'r')}
# Authenticate
token = get_tokens_for_user(self.user)
headers = {'Authorization': f"Bearer {token['access']}"}
self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {token['access']}")
# send in request
response = requests.post(self.endpoint, files=files, headers=headers)
response = self.client.post(self.url, files)
# check response
self.assertEqual(response.status_code, 403)
# check for object creation
self.assertEqual(company_count, self.company_model.objects.count())
self.assertEqual(user_count, self.user_model.objects.count())
@@ -448,14 +448,13 @@ class LoadCoopManagerTestCase(TestCase):
user_count = self.user_model.objects.count()
# read csv file
csv_file = '../coop.csv'
files = {'csv_file': open(csv_file,'r')}
files = {'csv_file': open(self.csv_path,'r')}
# Query endpoint
response = self.client.post(self.endpoint, files=files)
# send in request
response = self.client.post(self.url, files)
# check response
self.assertEqual(response.status_code, 401)
# check for object creation
self.assertEqual(company_count, self.company_model.objects.count())
self.assertEqual(user_count, self.user_model.objects.count())