Skip to content

Commit

Permalink
🚨 [#52] Fixed linter issues such as black & isort
Browse files Browse the repository at this point in the history
  • Loading branch information
ErhanCitil committed Jul 3, 2024
1 parent 2f52882 commit 65433ef
Show file tree
Hide file tree
Showing 14 changed files with 165 additions and 61 deletions.
12 changes: 7 additions & 5 deletions src/bobvance/base/choices.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ class OrderStatusChoices(models.TextChoices):
delivered = "Delivered", _("Delivered")
cancelled = "Cancelled", _("Cancelled")


class PaymentMethodChoices(models.TextChoices):
credit_card = 'credit_card', _('Credit Card')
debit_card = 'debit_card', _('Debit Card')
paypal = 'paypal', _('PayPal')
bank_transfer = 'bank_transfer', _('Bank Transfer')
cash = 'cash', _('Cash')
credit_card = "credit_card", _("Credit Card")
debit_card = "debit_card", _("Debit Card")
paypal = "paypal", _("PayPal")
bank_transfer = "bank_transfer", _("Bank Transfer")
cash = "cash", _("Cash")


class PaymentStatusChoices(models.TextChoices):
pending = "Pending", _("Pending")
Expand Down
15 changes: 10 additions & 5 deletions src/bobvance/base/migrations/0006_alter_customer_phonenumber.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,20 @@


class Migration(migrations.Migration):

dependencies = [
('base', '0005_order_total_price'),
("base", "0005_order_total_price"),
]

operations = [
migrations.AlterField(
model_name='customer',
name='phonenumber',
field=phonenumber_field.modelfields.PhoneNumberField(error_messages={'invalid': 'Het ingevoerde telefoonnummer is niet juist. Gebruik het formaat +31 6xxxxxxxx.'}, max_length=128, region=None),
model_name="customer",
name="phonenumber",
field=phonenumber_field.modelfields.PhoneNumberField(
error_messages={
"invalid": "Het ingevoerde telefoonnummer is niet juist. Gebruik het formaat +31 6xxxxxxxx."
},
max_length=128,
region=None,
),
),
]
7 changes: 3 additions & 4 deletions src/bobvance/base/migrations/0007_product_review.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@


class Migration(migrations.Migration):

dependencies = [
('base', '0006_alter_customer_phonenumber'),
("base", "0006_alter_customer_phonenumber"),
]

operations = [
migrations.AddField(
model_name='product',
name='review',
model_name="product",
name="review",
field=models.TextField(blank=True, null=True),
),
]
56 changes: 46 additions & 10 deletions src/bobvance/base/migrations/0008_auto_20240703_1549.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,60 @@


class Migration(migrations.Migration):

dependencies = [
('base', '0007_product_review'),
("base", "0007_product_review"),
]

operations = [
migrations.CreateModel(
name='Payment',
name="Payment",
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('method', models.CharField(choices=[('credit_card', 'Credit Card'), ('debit_card', 'Debit Card'), ('paypal', 'PayPal'), ('bank_transfer', 'Bank Transfer'), ('cash', 'Cash')], default='credit_card', max_length=50)),
('status', models.CharField(choices=[('Pending', 'Pending'), ('Completed', 'Completed'), ('Failed', 'Failed')], default='Pending', max_length=20)),
('created_at', models.DateTimeField(auto_now_add=True)),
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"method",
models.CharField(
choices=[
("credit_card", "Credit Card"),
("debit_card", "Debit Card"),
("paypal", "PayPal"),
("bank_transfer", "Bank Transfer"),
("cash", "Cash"),
],
default="credit_card",
max_length=50,
),
),
(
"status",
models.CharField(
choices=[
("Pending", "Pending"),
("Completed", "Completed"),
("Failed", "Failed"),
],
default="Pending",
max_length=20,
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
],
),
migrations.AddField(
model_name='order',
name='payment',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='base.payment'),
model_name="order",
name="payment",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="base.payment",
),
),
]
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,13 @@


class Migration(migrations.Migration):

dependencies = [
('base', '0008_auto_20240703_1549'),
("base", "0008_auto_20240703_1549"),
]

operations = [
migrations.RemoveField(
model_name='payment',
name='created_at',
model_name="payment",
name="created_at",
),
]
36 changes: 29 additions & 7 deletions src/bobvance/base/models.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,28 @@
from django.db import models
import uuid

from django.core.validators import MinValueValidator
from django.db import models

from localflavor.nl.models import NLZipCodeField
from phonenumber_field.modelfields import PhoneNumberField
from bobvance.base.choices import OrderStatusChoices, PaymentMethodChoices, PaymentStatusChoices
import uuid

from bobvance.base.choices import (
OrderStatusChoices,
PaymentMethodChoices,
PaymentStatusChoices,
)


class Customer(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
firstname = models.CharField(max_length=50)
lastname = models.CharField(max_length=50)
email = models.EmailField()
phonenumber = PhoneNumberField(error_messages={"invalid": "Het ingevoerde telefoonnummer is niet juist. Gebruik het formaat +31 6xxxxxxxx."})
phonenumber = PhoneNumberField(
error_messages={
"invalid": "Het ingevoerde telefoonnummer is niet juist. Gebruik het formaat +31 6xxxxxxxx."
}
)
address = models.CharField(max_length=100)
postal_code = NLZipCodeField()
city = models.CharField(max_length=50)
Expand All @@ -35,8 +47,16 @@ def __str__(self):

class Payment(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
method = models.CharField(max_length=50, choices=PaymentMethodChoices.choices, default=PaymentMethodChoices.credit_card)
status = models.CharField(max_length=20, choices=PaymentStatusChoices.choices, default=PaymentStatusChoices.pending)
method = models.CharField(
max_length=50,
choices=PaymentMethodChoices.choices,
default=PaymentMethodChoices.credit_card,
)
status = models.CharField(
max_length=20,
choices=PaymentStatusChoices.choices,
default=PaymentStatusChoices.pending,
)

def __str__(self):
return f"{self.method} - {self.status}"
Expand All @@ -45,7 +65,9 @@ def __str__(self):
class Order(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
payment = models.ForeignKey(Payment, on_delete=models.SET_NULL, null=True, blank=True)
payment = models.ForeignKey(
Payment, on_delete=models.SET_NULL, null=True, blank=True
)
status = models.CharField(
max_length=50,
choices=OrderStatusChoices.choices,
Expand Down
12 changes: 9 additions & 3 deletions src/bobvance/base/tests/factories.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import random

import factory
from factory.fuzzy import FuzzyChoice

from bobvance.base.models import Customer, Order, OrderProduct, Product
import random


class CustomerFactory(factory.django.DjangoModelFactory):
Expand All @@ -11,9 +13,13 @@ class Meta:
firstname = factory.Faker("first_name")
lastname = factory.Faker("last_name")
email = factory.Faker("email")
phonenumber = factory.LazyFunction(lambda: f"+31 6{random.randint(100, 999)}{random.randint(10000, 99999)}")
phonenumber = factory.LazyFunction(
lambda: f"+31 6{random.randint(100, 999)}{random.randint(10000, 99999)}"
)
address = factory.Faker("street_address")
postal_code = factory.LazyFunction(lambda: f"{random.randint(1000, 9999)} {''.join(random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ') for i in range(2))}")
postal_code = factory.LazyFunction(
lambda: f"{random.randint(1000, 9999)} {''.join(random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ') for i in range(2))}"
)
city = factory.Faker("city")
country = factory.Faker("country")

Expand Down
52 changes: 39 additions & 13 deletions src/bobvance/base/tests/test_forms.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
from bobvance.base.tests.factories import CustomerFactory, ProductFactory
from django_webtest import WebTest
from django.urls import reverse

from django_webtest import WebTest

from bobvance.base.tests.factories import CustomerFactory, ProductFactory


class FormTestCase(WebTest):
def setUp(self):
Expand Down Expand Up @@ -38,7 +40,10 @@ def test_wrong_phone_number(self):
form = self.app.get(self.url).form
form["phonenumber"] = "1234567890"
response = form.submit()
self.assertEqual(response.context["form"].errors['phonenumber'][0], 'Het ingevoerde telefoonnummer is niet juist. Gebruik het formaat +31 6xxxxxxxx.')
self.assertEqual(
response.context["form"].errors["phonenumber"][0],
"Het ingevoerde telefoonnummer is niet juist. Gebruik het formaat +31 6xxxxxxxx.",
)

def test_wrong_postal_code(self):
"""
Expand All @@ -48,22 +53,43 @@ def test_wrong_postal_code(self):
form = self.app.get(self.url).form
form["postal_code"] = "1234ABB"
response = form.submit()
self.assertEqual(response.context["form"].errors['postal_code'][0], 'Enter a valid zip code.')
self.assertEqual(
response.context["form"].errors["postal_code"][0], "Enter a valid zip code."
)

def test_wrong_email(self):
form = self.app.get(self.url).form
form["email"] = "test"
response = form.submit()
self.assertEqual(response.context["form"].errors['email'][0], 'Voer een geldig e-mailadres in.')
self.assertEqual(
response.context["form"].errors["email"][0],
"Voer een geldig e-mailadres in.",
)

def test_empty_form(self):
form = self.app.get(self.url).form
response = form.submit()
self.assertEqual(response.context["form"].errors['firstname'][0], 'Dit veld is verplicht.')
self.assertEqual(response.context["form"].errors['lastname'][0], 'Dit veld is verplicht.')
self.assertEqual(response.context["form"].errors['email'][0], 'Dit veld is verplicht.')
self.assertEqual(response.context["form"].errors['address'][0], 'Dit veld is verplicht.')
self.assertEqual(response.context["form"].errors['postal_code'][0], 'Dit veld is verplicht.')
self.assertEqual(response.context["form"].errors['city'][0], 'Dit veld is verplicht.')
self.assertEqual(response.context["form"].errors['country'][0], 'Dit veld is verplicht.')
self.assertEqual(response.context["form"].errors['phonenumber'][0], 'Dit veld is verplicht.')
self.assertEqual(
response.context["form"].errors["firstname"][0], "Dit veld is verplicht."
)
self.assertEqual(
response.context["form"].errors["lastname"][0], "Dit veld is verplicht."
)
self.assertEqual(
response.context["form"].errors["email"][0], "Dit veld is verplicht."
)
self.assertEqual(
response.context["form"].errors["address"][0], "Dit veld is verplicht."
)
self.assertEqual(
response.context["form"].errors["postal_code"][0], "Dit veld is verplicht."
)
self.assertEqual(
response.context["form"].errors["city"][0], "Dit veld is verplicht."
)
self.assertEqual(
response.context["form"].errors["country"][0], "Dit veld is verplicht."
)
self.assertEqual(
response.context["form"].errors["phonenumber"][0], "Dit veld is verplicht."
)
1 change: 1 addition & 0 deletions src/bobvance/base/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from django.test import TestCase
from django.urls import reverse

from bobvance.base.tests.factories import CustomerFactory, ProductFactory


Expand Down
10 changes: 5 additions & 5 deletions src/bobvance/base/views.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from decimal import Decimal

from django.http import JsonResponse
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse
Expand All @@ -6,8 +8,6 @@
from bobvance.base.forms import CustomerForm
from bobvance.base.models import Order, OrderProduct, Product

from decimal import Decimal


class Home(TemplateView):
template_name = "base/index.html"
Expand Down Expand Up @@ -70,8 +70,8 @@ def get(self, request, *args, **kwargs):
[product.price * cart[str(product.id)] for product in cart_items]
)

shipping_price = 25
if total_price <= Decimal('500'):
shipping_price = 25
if total_price <= Decimal("500"):
total_price += shipping_price

context = {
Expand Down Expand Up @@ -180,7 +180,7 @@ def form_valid(self, form):
OrderProduct.objects.create(
order=order, product=product, quantity=cart[str(product.id)]
)
if 'cart' in self.request.session:
if "cart" in self.request.session:
del self.request.session["cart"]

self.object = order
Expand Down
3 changes: 2 additions & 1 deletion src/bobvance/contact/models.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from django.db import models
import uuid

from django.db import models

# Create your models here.


Expand Down
7 changes: 5 additions & 2 deletions src/bobvance/contact/tests/test_forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,14 @@ def test_wrong_email(self):
form["email"] = "test"
response = form.submit()
self.assertEqual(
response.context["form"].errors["email"][0], "Voer een geldig e-mailadres in."
response.context["form"].errors["email"][0],
"Voer een geldig e-mailadres in.",
)

def test_empty_name_field(self):
form = self.app.get(reverse("contact")).form
form["name"] = ""
response = form.submit()
self.assertEqual(response.context["form"].errors["name"][0], "Dit veld is verplicht.")
self.assertEqual(
response.context["form"].errors["name"][0], "Dit veld is verplicht."
)
3 changes: 2 additions & 1 deletion src/bobvance/utils/checks.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@ def check_missing_init_files(app_configs, **kwargs):

errors.append(
Warning(
"Directory %s does not contain an `__init__.py` file" % dirpath + dirname,
"Directory %s does not contain an `__init__.py` file" % dirpath
+ dirname,
hint="Consider adding this module to make sure tests are picked up",
id="utils.W001",
)
Expand Down
Loading

0 comments on commit 65433ef

Please sign in to comment.