some tests
This commit is contained in:
Generated
+112
-29
@@ -5,34 +5,14 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="7410a44d-51b9-408b-85ad-4fa46776b372" name="Changes" comment="commit unversioned files ;)">
|
<list default="true" id="7410a44d-51b9-408b-85ad-4fa46776b372" name="Changes" comment="commit unversioned files ;)">
|
||||||
<change afterPath="$PROJECT_DIR$/DepoT/settings/__init__.py" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/DepoT/settings/base.py" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/DepoT/settings/development.py" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/unused templates/settings.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.dockerignore" beforeDir="false" afterPath="$PROJECT_DIR$/.dockerignore" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/DepoT/settings.py" beforeDir="false" afterPath="$PROJECT_DIR$/DepoT/settings/production.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/DepoT/settings/development.py" beforeDir="false" afterPath="$PROJECT_DIR$/DepoT/settings/development.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/booking/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/booking/models.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/DepoT/settings/production.py" beforeDir="false" afterPath="$PROJECT_DIR$/DepoT/settings/production.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/booking/tests.py" beforeDir="false" afterPath="$PROJECT_DIR$/booking/tests.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/booking/tests.py" beforeDir="false" afterPath="$PROJECT_DIR$/booking/tests.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/booking/views/client_views.py" beforeDir="false" afterPath="$PROJECT_DIR$/booking/views/client_views.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/booking/views/employee_views.py" beforeDir="false" afterPath="$PROJECT_DIR$/booking/views/employee_views.py" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/common/migrations/0004_populate_initial_data.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/migrations/0004_populate_initial_data.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/common/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/models.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/common/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/models.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/containers/tests.py" beforeDir="false" afterPath="$PROJECT_DIR$/containers/tests.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/images/web_depot.tar" beforeDir="false" afterPath="$PROJECT_DIR$/images/web_depot.tar" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/createbuckets_depot.tar" beforeDir="false" afterPath="$PROJECT_DIR$/images/createbuckets_depot.tar" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/damages_api/tests.py" beforeDir="false" afterPath="$PROJECT_DIR$/damages_api/tests.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/depot-web.tar" beforeDir="false" afterPath="$PROJECT_DIR$/images/depot-web.tar" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/depot_image.tar" beforeDir="false" afterPath="$PROJECT_DIR$/images/depot_image.tar" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/docker-compose-deploy.yml" beforeDir="false" afterPath="$PROJECT_DIR$/docker-compose-deploy.yml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/dockerfile" beforeDir="false" afterPath="$PROJECT_DIR$/dockerfile" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/manage.py" beforeDir="false" afterPath="$PROJECT_DIR$/manage.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/minio.tar" beforeDir="false" afterPath="$PROJECT_DIR$/images/minio.tar" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/payments/services.py" beforeDir="false" afterPath="$PROJECT_DIR$/payments/services.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/postgres.tar" beforeDir="false" afterPath="$PROJECT_DIR$/images/postgres.tar" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/templates/client/booking-list.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/client/booking-list.html" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/templates/common/allowed-vehicles.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/common/allowed-vehicles.html" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/templates/common/base.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/common/base.html" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/templates/employee/unpaid-list.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/employee/unpaid-list.html" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/web_depot.tar" beforeDir="false" afterPath="$PROJECT_DIR$/images/web_depot.tar" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -68,8 +48,11 @@
|
|||||||
"keyToString": {
|
"keyToString": {
|
||||||
"ASKED_MARK_IGNORED_FILES_AS_EXCLUDED": "true",
|
"ASKED_MARK_IGNORED_FILES_AS_EXCLUDED": "true",
|
||||||
"DefaultHtmlFileTemplate": "HTML File",
|
"DefaultHtmlFileTemplate": "HTML File",
|
||||||
"Django Server.DepoT.executor": "Debug",
|
"Django Server.DepoT.executor": "Run",
|
||||||
"Django tests.Test: booking.tests.BookingViewsTestCase.executor": "Debug",
|
"Django tests.Test: booking.tests.BookingViewsTestCase.executor": "Debug",
|
||||||
|
"Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view.executor": "Debug",
|
||||||
|
"Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_all_rights__expect_OK.executor": "Profiler",
|
||||||
|
"Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_no_rights__expect_forbidden.executor": "Debug",
|
||||||
"RunOnceActivity.OpenDjangoStructureViewOnStart": "true",
|
"RunOnceActivity.OpenDjangoStructureViewOnStart": "true",
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"RunOnceActivity.git.unshallow": "true",
|
"RunOnceActivity.git.unshallow": "true",
|
||||||
@@ -108,8 +91,52 @@
|
|||||||
<recent name="C:\dev_projects\python\Django\DepoT\templates\employee" />
|
<recent name="C:\dev_projects\python\Django\DepoT\templates\employee" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager" selected="Django Server.DepoT">
|
<component name="RunManager" selected="Django tests.Test: booking.tests.BookingViewsTestCase">
|
||||||
<configuration name="Test: booking.tests.BookingViewsTestCase" type="DjangoTestsConfigurationType" temporary="true">
|
<configuration name="Test: booking.tests.BookingViewsTestCase" type="DjangoTestsConfigurationType" temporary="true">
|
||||||
|
<module name="DepoT" />
|
||||||
|
<option name="ENV_FILES" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
<env name="DJANGO_SETTINGS_MODULE" value="DepoT.settings.development" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
|
<option name="TARGET" value="booking.tests.BookingViewsTestCase" />
|
||||||
|
<option name="SETTINGS_FILE" value="" />
|
||||||
|
<option name="CUSTOM_SETTINGS" value="false" />
|
||||||
|
<option name="USE_OPTIONS" value="false" />
|
||||||
|
<option name="OPTIONS" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="Test: booking.tests.BookingViewsTestCase.test_booking_list_view" type="DjangoTestsConfigurationType" temporary="true">
|
||||||
|
<module name="DepoT" />
|
||||||
|
<option name="ENV_FILES" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
<env name="DJANGO_SETTINGS_MODULE" value="DepoT.settings.development" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
|
<option name="TARGET" value="booking.tests.BookingViewsTestCase.test_booking_list_view" />
|
||||||
|
<option name="SETTINGS_FILE" value="" />
|
||||||
|
<option name="CUSTOM_SETTINGS" value="false" />
|
||||||
|
<option name="USE_OPTIONS" value="false" />
|
||||||
|
<option name="OPTIONS" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_all_rights__expect_OK" type="DjangoTestsConfigurationType" temporary="true">
|
||||||
<module name="DepoT" />
|
<module name="DepoT" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
@@ -123,7 +150,29 @@
|
|||||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
<option name="TARGET" value="booking.tests.BookingViewsTestCase" />
|
<option name="TARGET" value="booking.tests.BookingViewsTestCase.test_booking_list_view__user_all_rights__expect_OK" />
|
||||||
|
<option name="SETTINGS_FILE" value="" />
|
||||||
|
<option name="CUSTOM_SETTINGS" value="false" />
|
||||||
|
<option name="USE_OPTIONS" value="false" />
|
||||||
|
<option name="OPTIONS" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_no_rights__expect_forbidden" type="DjangoTestsConfigurationType" temporary="true">
|
||||||
|
<module name="DepoT" />
|
||||||
|
<option name="ENV_FILES" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
<env name="DJANGO_SETTINGS_MODULE" value="DepoT.settings.development" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
|
<option name="TARGET" value="booking.tests.BookingViewsTestCase.test_booking_list_view__user_no_rights__expect_forbidden" />
|
||||||
<option name="SETTINGS_FILE" value="" />
|
<option name="SETTINGS_FILE" value="" />
|
||||||
<option name="CUSTOM_SETTINGS" value="false" />
|
<option name="CUSTOM_SETTINGS" value="false" />
|
||||||
<option name="USE_OPTIONS" value="false" />
|
<option name="USE_OPTIONS" value="false" />
|
||||||
@@ -158,11 +207,17 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
<list>
|
<list>
|
||||||
<item itemvalue="Django Server.DepoT" />
|
<item itemvalue="Django Server.DepoT" />
|
||||||
|
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_all_rights__expect_OK" />
|
||||||
|
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_no_rights__expect_forbidden" />
|
||||||
|
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view" />
|
||||||
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase" />
|
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase" />
|
||||||
</list>
|
</list>
|
||||||
<recent_temporary>
|
<recent_temporary>
|
||||||
<list>
|
<list>
|
||||||
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase" />
|
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase" />
|
||||||
|
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_all_rights__expect_OK" />
|
||||||
|
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_no_rights__expect_forbidden" />
|
||||||
|
<item itemvalue="Django tests.Test: booking.tests.BookingViewsTestCase.test_booking_list_view" />
|
||||||
</list>
|
</list>
|
||||||
</recent_temporary>
|
</recent_temporary>
|
||||||
</component>
|
</component>
|
||||||
@@ -311,6 +366,31 @@
|
|||||||
<line>7</line>
|
<line>7</line>
|
||||||
<option name="timeStamp" value="55" />
|
<option name="timeStamp" value="55" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||||
|
<url>file://$PROJECT_DIR$/booking/tests.py</url>
|
||||||
|
<line>90</line>
|
||||||
|
<option name="timeStamp" value="109" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||||
|
<url>file://$PROJECT_DIR$/booking/tests.py</url>
|
||||||
|
<line>76</line>
|
||||||
|
<option name="timeStamp" value="117" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||||
|
<url>file://$PROJECT_DIR$/booking/views/client_views.py</url>
|
||||||
|
<line>40</line>
|
||||||
|
<option name="timeStamp" value="119" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||||
|
<url>file://$PROJECT_DIR$/booking/views/client_views.py</url>
|
||||||
|
<line>46</line>
|
||||||
|
<option name="timeStamp" value="120" />
|
||||||
|
</line-breakpoint>
|
||||||
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||||
|
<url>file://$PROJECT_DIR$/booking/tests.py</url>
|
||||||
|
<line>75</line>
|
||||||
|
<option name="timeStamp" value="121" />
|
||||||
|
</line-breakpoint>
|
||||||
<line-breakpoint enabled="true" type="javascript">
|
<line-breakpoint enabled="true" type="javascript">
|
||||||
<url>file://$PROJECT_DIR$/static/js/container_validation.js</url>
|
<url>file://$PROJECT_DIR$/static/js/container_validation.js</url>
|
||||||
<line>4</line>
|
<line>4</line>
|
||||||
@@ -327,6 +407,9 @@
|
|||||||
</breakpoint-manager>
|
</breakpoint-manager>
|
||||||
</component>
|
</component>
|
||||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
||||||
<SUITE FILE_PATH="coverage/DepoT$Test__booking_tests_BookingViewsTestCase.coverage" NAME="Test: booking.tests.BookingViewsTestCase Coverage Results" MODIFIED="1754303647560" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
<SUITE FILE_PATH="coverage/DepoT$Test__booking_tests_BookingViewsTestCase_test_booking_list_view.coverage" NAME="Test: booking.tests.BookingViewsTestCase.test_booking_list_view Coverage Results" MODIFIED="1754333059580" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||||
|
<SUITE FILE_PATH="coverage/DepoT$Test__booking_tests_BookingViewsTestCase.coverage" NAME="Test: booking.tests.BookingViewsTestCase Coverage Results" MODIFIED="1754386070100" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||||
|
<SUITE FILE_PATH="coverage/DepoT$Test__booking_tests_BookingViewsTestCase_test_booking_list_view__user_no_rights__expect_forbidden.coverage" NAME="Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_no_rights__expect_forbidden Coverage Results" MODIFIED="1754372596969" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||||
|
<SUITE FILE_PATH="coverage/DepoT$Test__booking_tests_BookingViewsTestCase_test_booking_list_view__user_all_rights__expect_OK.coverage" NAME="Test: booking.tests.BookingViewsTestCase.test_booking_list_view__user_all_rights__expect_OK Coverage Results" MODIFIED="1754372722226" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -17,7 +17,7 @@ import environ
|
|||||||
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
||||||
|
|
||||||
env = environ.Env()
|
env = environ.Env()
|
||||||
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
|
env.read_env(os.path.join(BASE_DIR, '.env'))
|
||||||
|
|
||||||
SECRET_KEY = "django-insecure-g%187p84o9^rr)3#9@r3n^o2v1i%@6=+puxm7hlodg+kbsk%n#"
|
SECRET_KEY = "django-insecure-g%187p84o9^rr)3#9@r3n^o2v1i%@6=+puxm7hlodg+kbsk%n#"
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ from minio_backend.storage import MinioStaticStorage, MinioMediaStorage
|
|||||||
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
||||||
|
|
||||||
env = environ.Env()
|
env = environ.Env()
|
||||||
environ.Env.read_env(os.path.join(BASE_DIR, 'production.env'))
|
env.read_env(os.path.join(BASE_DIR, 'production.env'))
|
||||||
|
|
||||||
SECRET_KEY = "django-insecure-g%187p84o9^rr)3#9@r3n^o2v1i%@6=+puxm7hlodg+kbsk%n#"
|
SECRET_KEY = "django-insecure-g%187p84o9^rr)3#9@r3n^o2v1i%@6=+puxm7hlodg+kbsk%n#"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+73
-23
@@ -1,49 +1,99 @@
|
|||||||
from django.test import TestCase, Client
|
from django.test import TestCase, Client
|
||||||
from django.urls import reverse
|
from django.urls import reverse, reverse_lazy
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
|
|
||||||
|
from accounts.models import ClientPermission
|
||||||
from booking.models import Booking
|
from booking.models import Booking
|
||||||
from common.models import LinesModel, ContainerTypeModel
|
from common.models import LinesModel, ContainerTypeModel, CompanyModel
|
||||||
|
|
||||||
|
|
||||||
class BookingViewsTestCase(TestCase):
|
class BookingViewsTestCase(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
self.company = CompanyModel.objects.create(name='Test Company')
|
||||||
|
self.line = LinesModel.objects.create(name='Test Line', company_id=self.company.id)
|
||||||
|
self.container_type = ContainerTypeModel.objects.get(name='20GP')
|
||||||
|
|
||||||
|
self.user_password = 'password'
|
||||||
self.client = Client()
|
self.client = Client()
|
||||||
DepotUser = get_user_model()
|
DepotUser = get_user_model()
|
||||||
self.user = DepotUser.objects.create_user(username='testuser', password='password', user_type='EM')
|
|
||||||
self.client.login(username='testuser', password='password')
|
self.user_client_no_rights = DepotUser.objects.create_user(username='user_client_no_rights', password=self.user_password, user_type='CL', email='user_client_no_rights@gmail.com')
|
||||||
self.line = LinesModel.objects.create(name='Test Line')
|
|
||||||
self.container_type = ContainerTypeModel.objects.create(name='20ft')
|
self.user_client_all_rights = DepotUser.objects.create_user(username='user_client_all_rights', password=self.user_password, user_type='CL', email='user_client_all_rights@gmail.com', line=self.line, company=self.company)
|
||||||
|
self.user_client_all_rights.company_permissions.add(ClientPermission.objects.get(codename='can_view_booking').id)
|
||||||
|
self.user_client_all_rights.company_permissions.add(ClientPermission.objects.get(codename='can_manage_booking').id)
|
||||||
|
self.user_client_all_rights.company_permissions.add(ClientPermission.objects.get(codename='can_view_preinfo').id)
|
||||||
|
self.user_client_all_rights.company_permissions.add(ClientPermission.objects.get(codename='can_manage_preinfo').id)
|
||||||
|
self.user_client_all_rights.company_permissions.add(ClientPermission.objects.get(codename='can_view_payment').id)
|
||||||
|
self.user_client_all_rights.company_permissions.add(ClientPermission.objects.get(codename='can_manage_payment').id)
|
||||||
|
self.user_client_all_rights.company_permissions.add(ClientPermission.objects.get(codename='can_manage_company_users').id)
|
||||||
|
|
||||||
|
|
||||||
|
self.user_employee_no_rights = DepotUser.objects.create_user(username='user_employee_no_rights', password=self.user_password, user_type='EM', email='user_employee_no_rights@gmail.com')
|
||||||
|
|
||||||
|
self.user_employee_all_rights = DepotUser.objects.create_user(username='user_employee_all_rights', password=self.user_password, user_type='EM', email='user_employee_all_rights@gmail.com')
|
||||||
|
self.user_employee_all_rights.employee_permissions.add(1)
|
||||||
|
self.user_employee_all_rights.employee_permissions.add(2)
|
||||||
|
self.user_employee_all_rights.employee_permissions.add(3)
|
||||||
|
self.user_employee_all_rights.employee_permissions.add(4)
|
||||||
|
self.user_employee_all_rights.employee_permissions.add(5)
|
||||||
|
|
||||||
self.booking = Booking.objects.create(
|
self.booking = Booking.objects.create(
|
||||||
number='BOOK123',
|
number='BOOK123',
|
||||||
container_type=self.container_type,
|
container_type=self.container_type,
|
||||||
container_count=10,
|
container_count=10,
|
||||||
line=self.line,
|
line=self.line,
|
||||||
created_by=self.user.id,
|
created_by=self.user_employee_all_rights.id,
|
||||||
updated_by=self.user.id
|
updated_by=self.user_employee_all_rights.id,
|
||||||
|
vehicles='',
|
||||||
|
vehicles_left='',
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_booking_list_view(self):
|
def test_employee_booking_list_view__anonymouse_user__expect_redirect_302(self):
|
||||||
response = self.client.get(reverse('booking-list'))
|
response = self.client.get(reverse_lazy('employee_bookings'))
|
||||||
|
self.assertEqual(response.status_code, 302)
|
||||||
|
|
||||||
|
def test_employee_booking_list_view__client_user_login__expect_forbidden_403(self):
|
||||||
|
self.client.login(username=self.user_client_no_rights.username, password=self.user_password)
|
||||||
|
response = self.client.get(reverse_lazy('employee_bookings'))
|
||||||
|
self.assertEqual(response.status_code, 403)
|
||||||
|
|
||||||
|
def test_employee_booking_list_view__user_login__expect_redirect_200(self):
|
||||||
|
self.client.login(username=self.user_employee_no_rights.username, password=self.user_password)
|
||||||
|
response = self.client.get(reverse_lazy('employee_bookings'))
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertTemplateUsed(response, 'booking/booking-list.html')
|
|
||||||
|
def test_booking_list_view__user_all_rights__expect_OK(self):
|
||||||
|
self.client.login(username=self.user_employee_all_rights.username, password=self.user_password)
|
||||||
|
response = self.client.get(reverse_lazy('employee_bookings'))
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
|
self.assertTemplateUsed(response, 'employee/booking-list.html')
|
||||||
self.assertContains(response, self.booking.number)
|
self.assertContains(response, self.booking.number)
|
||||||
|
|
||||||
def test_booking_create_view(self):
|
def test_booking_create_view(self):
|
||||||
response = self.client.post(reverse('booking-create'), {
|
self.assertTrue( self.user_client_all_rights.has_company_perm('can_view_booking'))
|
||||||
|
self.client.login(username=self.user_client_all_rights.username, password=self.user_password)
|
||||||
|
|
||||||
|
response = self.client.post(reverse('client_booking_create'), {
|
||||||
'number': 'BOOK456',
|
'number': 'BOOK456',
|
||||||
'container_type': self.container_type.id,
|
'container_type': self.container_type.id,
|
||||||
'container_count': 5,
|
'container_count': 5,
|
||||||
'line': self.line.id,
|
'line': self.line.id,
|
||||||
|
'vehicles': 'Truck1,Truck2',
|
||||||
|
'vehicles_left': 'Truck1,Truck2',
|
||||||
})
|
})
|
||||||
self.assertEqual(response.status_code, 302)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertTrue(Booking.objects.filter(number='BOOK456').exists())
|
self.assertTrue(Booking.objects.filter(number='BOOK456').exists())
|
||||||
|
|
||||||
def test_booking_update_view(self):
|
# def test_booking_update_view(self):
|
||||||
response = self.client.post(reverse('booking-update', args=[self.booking.id]), {
|
# response = self.client.post(reverse('booking-update', args=[self.booking.id]), {
|
||||||
'number': 'BOOK123-updated',
|
# 'number': 'BOOK123-updated',
|
||||||
'container_type': self.container_type.id,
|
# 'container_type': self.container_type.id,
|
||||||
'container_count': 15,
|
# 'container_count': 15,
|
||||||
'line': self.line.id,
|
# 'line': self.line.id,
|
||||||
})
|
# })
|
||||||
self.assertEqual(response.status_code, 302)
|
# self.assertEqual(response.status_code, 302)
|
||||||
self.booking.refresh_from_db()
|
# self.booking.refresh_from_db()
|
||||||
self.assertEqual(self.booking.number, 'BOOK123-updated')
|
# self.assertEqual(self.booking.number, 'BOOK123-updated')
|
||||||
Binary file not shown.
Binary file not shown.
@@ -12,7 +12,7 @@ class BookingListView(LoginRequiredMixin, UserPassesTestMixin, ListView):
|
|||||||
|
|
||||||
def test_func(self):
|
def test_func(self):
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
return self.request.user.user_type == 'EMP' or user.is_superuser
|
return self.request.user.user_type == 'EM' or user.is_superuser
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
queryset = super().get_queryset()
|
queryset = super().get_queryset()
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -46,24 +46,22 @@ def create_initial_data(apps, schema_editor):
|
|||||||
|
|
||||||
# Companies and Lines
|
# Companies and Lines
|
||||||
companies = [
|
companies = [
|
||||||
(1, 'GMS', 'GMS', 'Global Maritime Servises'),
|
('GMS', 'GMS', 'Global Maritime Servises'),
|
||||||
(2, 'TO', 'TO', 'Терминален оператор'),
|
('TO', 'TO', 'Терминален оператор'),
|
||||||
]
|
]
|
||||||
for _id, name, short_name, description in companies:
|
for name, short_name, description in companies:
|
||||||
CompanyModel.objects.create(
|
CompanyModel.objects.create(
|
||||||
id=_id,
|
|
||||||
name=name,
|
name=name,
|
||||||
short_name=short_name,
|
short_name=short_name,
|
||||||
description=description
|
description=description
|
||||||
)
|
)
|
||||||
lines = [
|
lines = [
|
||||||
(1, 'GMS', 'GMS', 'GMS line', 1),
|
('GMS', 'GMS', 'GMS line', 1),
|
||||||
(2, 'HPG', 'HPG', 'Hapag Lloyds line', 1),
|
('HPG', 'HPG', 'Hapag Lloyds line', 1),
|
||||||
(3, 'TO', 'TO', 'Терминален оператор line', 2),
|
('TO', 'TO', 'Терминален оператор line', 2),
|
||||||
]
|
]
|
||||||
for _id, name, short_name, description, company_id in lines:
|
for name, short_name, description, company_id in lines:
|
||||||
LinesModel.objects.create(
|
LinesModel.objects.create(
|
||||||
id=_id,
|
|
||||||
name=name,
|
name=name,
|
||||||
short_name=short_name,
|
short_name=short_name,
|
||||||
description=description,
|
description=description,
|
||||||
|
|||||||
Binary file not shown.
+5
-3
@@ -9,7 +9,7 @@ class NomenclatureBaseModel(models.Model):
|
|||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
abstract = True
|
||||||
ordering = ['name']
|
ordering = ['name']
|
||||||
|
app_label = 'common'
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
@@ -30,8 +30,7 @@ class LinesModel(NomenclatureBaseModel):
|
|||||||
app_label = 'common'
|
app_label = 'common'
|
||||||
|
|
||||||
class OperationModel(NomenclatureBaseModel):
|
class OperationModel(NomenclatureBaseModel):
|
||||||
class Meta:
|
...
|
||||||
app_label = 'common'
|
|
||||||
|
|
||||||
class ContainerKindModel(NomenclatureBaseModel):
|
class ContainerKindModel(NomenclatureBaseModel):
|
||||||
...
|
...
|
||||||
@@ -47,5 +46,8 @@ class ContainerTypeModel(models.Model):
|
|||||||
)
|
)
|
||||||
deleted = models.BooleanField(default=False)
|
deleted = models.BooleanField(default=False)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
app_label = 'common'
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user