-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: raise_test_coverage_to_100% (#35)
- Loading branch information
Showing
18 changed files
with
400 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
from datetime import datetime | ||
|
||
import pytest | ||
from django.conf import settings | ||
from django.test import TestCase | ||
from faker import Faker | ||
from model_bakery import baker | ||
|
||
from apps.sql_data.models import ( | ||
SQLDatabaseSource, | ||
SQLExtractMetadata, | ||
SQLUploadMetadata, | ||
) | ||
from apps.users.models import User | ||
|
||
fake = Faker() | ||
pytestmark = pytest.mark.django_db | ||
|
||
|
||
class TestAuditBase(TestCase): | ||
"""Test class: AuditBase.""" | ||
|
||
def setUp(self): | ||
super().setUp() | ||
self.user = baker.make(settings.AUTH_USER_MODEL, email=fake.email()) | ||
|
||
def test_created_and_created_by(self): | ||
sql_upload_metadata = SQLDatabaseSource( | ||
pk=None, | ||
name=fake.name(), | ||
description=fake.text(), | ||
database_name="sql", | ||
database_vendor="MySQL", | ||
) | ||
sql_upload_metadata.save(user=User.objects.get(pk=self.user.pk)) | ||
assert sql_upload_metadata.created_by == self.user | ||
assert sql_upload_metadata.updated_by is None | ||
|
||
|
||
class TestAbstractExtractMetadata(TestCase): | ||
"""Test class: AbstractExtractMetadata.""" | ||
|
||
def setUp(self): | ||
super().setUp() | ||
self.user = baker.make(settings.AUTH_USER_MODEL, email=fake.email()) | ||
self.sql_extract_metadata = baker.make(SQLExtractMetadata) | ||
|
||
def test_default_str(self): | ||
assert str(self.sql_extract_metadata) == str( | ||
self.sql_extract_metadata.name | ||
) | ||
|
||
|
||
class TestAbstractUploadMetadata(TestCase): | ||
"""Test class: AbstractUploadMetadata.""" | ||
|
||
def setUp(self): | ||
super().setUp() | ||
self.user = baker.make(settings.AUTH_USER_MODEL, email=fake.email()) | ||
self.sql_upload_metadata = baker.make(SQLUploadMetadata) | ||
|
||
def test_default_str(self): | ||
assert str(self.sql_upload_metadata) == str( | ||
self.sql_upload_metadata.name | ||
) | ||
|
||
def test_is_complete_false(self): | ||
self.sql_upload_metadata.finish_time = None | ||
assert not self.sql_upload_metadata.is_complete | ||
|
||
def test_is_complete_true(self): | ||
self.sql_upload_metadata.finish_time = datetime.now() | ||
assert self.sql_upload_metadata.is_complete |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
import pytest | ||
from faker import Faker | ||
from model_bakery import baker | ||
from rest_framework.test import APITestCase | ||
|
||
from apps.common.tests.test_common import LoggedInMixin | ||
from apps.dashboards.models import Dashboard, Visualization | ||
|
||
pytestmark = pytest.mark.django_db | ||
|
||
fake = Faker() | ||
|
||
|
||
class TestDashboard(LoggedInMixin, APITestCase): | ||
def setUp(self): | ||
super().setUp() | ||
self.dashboard = baker.make(Dashboard) | ||
self.visualization = baker.make(Visualization) | ||
|
||
def test_dashboard_str(self): | ||
assert str(self.dashboard) == str(self.dashboard.title) | ||
|
||
def test_visualization_str(self): | ||
assert str(self.visualization) == str(self.visualization.title) |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import pytest | ||
from faker import Faker | ||
from model_bakery import baker | ||
from rest_framework.test import APIRequestFactory, APITestCase | ||
|
||
from apps.common.tests.test_common import LoggedInMixin | ||
from apps.dashboards.models import Dashboard | ||
from apps.frontend.context_processors import dashboards | ||
|
||
pytestmark = pytest.mark.django_db | ||
|
||
fake = Faker() | ||
|
||
|
||
class TestContextProcessors(LoggedInMixin, APITestCase): | ||
def setUp(self): | ||
super().setUp() | ||
self.factory = APIRequestFactory() | ||
self.dashboard = baker.make(Dashboard) | ||
|
||
def test_context_processor_dashboards_as_staff(self): | ||
request = self.factory.request() | ||
request.user = self.user | ||
response = dashboards(request) | ||
assert response.get("dashboards") is not None | ||
|
||
def test_context_processor_dashboards_as_non_staff(self): | ||
request = self.factory.request() | ||
request.user = self.user | ||
request.user.is_staff = False | ||
response = dashboards(request) | ||
assert len(response.get("dashboards")) >= 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
from unittest import TestCase | ||
|
||
from apps.common.tests.test_common import LoggedInMixin | ||
from apps.frontend.views import HomeView | ||
|
||
|
||
class TestViews(LoggedInMixin, TestCase): | ||
def test_home_view_context(self): | ||
view = HomeView() | ||
ctx = view.get_context_data() | ||
assert ctx["view"].template_name == "pages/frontend/home.html" |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import pytest | ||
from django.contrib.admin.sites import AdminSite | ||
from faker import Faker | ||
from model_bakery import baker | ||
from rest_framework.test import APIRequestFactory, APITestCase | ||
|
||
from apps.common.tests.test_common import LoggedInMixin | ||
from apps.sql_data.admin import DataSourceVersionAdmin | ||
from apps.sql_data.models import DataSourceVersion, SQLDatabaseSource | ||
|
||
pytestmark = pytest.mark.django_db | ||
|
||
fake = Faker() | ||
|
||
|
||
class TestSqlData(LoggedInMixin, APITestCase): | ||
def setUp(self): | ||
super().setUp() | ||
self.factory = APIRequestFactory() | ||
self.data_source_version = baker.make(DataSourceVersion) | ||
self.sql_data_source = baker.make(SQLDatabaseSource) | ||
|
||
def test_audit_base_model_audit_field_set_property(self): | ||
admin = DataSourceVersionAdmin( | ||
model=DataSourceVersion, admin_site=AdminSite() | ||
) | ||
audit = admin.audit_details_fieldset | ||
assert audit[0] == "Audit Details" | ||
assert "fields" in audit[1] | ||
|
||
def test_save_model(self): | ||
data_source_admin = DataSourceVersionAdmin( | ||
model=DataSourceVersion, admin_site=AdminSite() | ||
) | ||
request = self.factory.request() | ||
request.user = self.user | ||
data_source_admin.save_model( | ||
obj=self.data_source_version, | ||
request=request, | ||
form=None, | ||
change=None, | ||
) | ||
|
||
assert "data_source" in data_source_admin.list_display | ||
assert "data_source_version" in data_source_admin.list_display |
Oops, something went wrong.