From da7075a904b471a6fc2670ebf5e10fbc596e2c19 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Sun, 3 Jul 2022 22:37:45 +0100 Subject: [PATCH] Write some test for the Posts model --- flangr/posts/migrations/0001_initial.py | 32 ++++++++++++++++++++++++ flangr/posts/models.py | 2 +- flangr/posts/test_data/test_img.png | Bin 0 -> 320 bytes flangr/posts/tests.py | 23 +++++++++++++++++ requirements/base.txt | 2 ++ 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 flangr/posts/migrations/0001_initial.py create mode 100644 flangr/posts/test_data/test_img.png diff --git a/flangr/posts/migrations/0001_initial.py b/flangr/posts/migrations/0001_initial.py new file mode 100644 index 0000000..7dfef44 --- /dev/null +++ b/flangr/posts/migrations/0001_initial.py @@ -0,0 +1,32 @@ +# Generated by Django 4.0.5 on 2022-07-03 21:35 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="Post", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("img", models.ImageField(upload_to="posts/%Y/%m")), + ("posted", models.DateTimeField(auto_now_add=True)), + ("public", models.BooleanField(default=False)), + ("title", models.CharField(max_length=255)), + ("body", models.TextField()), + ], + ), + ] diff --git a/flangr/posts/models.py b/flangr/posts/models.py index 9dbf199..0c1c4fa 100644 --- a/flangr/posts/models.py +++ b/flangr/posts/models.py @@ -5,7 +5,7 @@ from django.db import models class Post(models.Model): img = models.ImageField(upload_to="posts/%Y/%m") - posted = models.DateTiemField(auto_now_add=True) + posted = models.DateTimeField(auto_now_add=True) public = models.BooleanField(default=False) title = models.CharField(max_length=255) diff --git a/flangr/posts/test_data/test_img.png b/flangr/posts/test_data/test_img.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9a236555bc6768a0a40210459c048074af9419 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-UBp4!QuJ{S0SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+uenM@oty!5+IMg z#M9T6{TVy6sH`pzQ-Lv1NW{~{F~s6@a)Jcw;slYNra%XO1_ss&21d=ooqvGxswJ)w zB`Jv|saDBFsX&Us$iT=**T7uYz&OOn(8|ct%EVOLz`)ADfd8c3Rum1n`6-!cmAEz3 nO=;roU! literal 0 HcmV?d00001 diff --git a/flangr/posts/tests.py b/flangr/posts/tests.py index 7ce503c..d0d72fa 100644 --- a/flangr/posts/tests.py +++ b/flangr/posts/tests.py @@ -1,3 +1,26 @@ +import os + from django.test import TestCase +from django.core.files import File + +from .models import Post # Create your tests here. + + +class TestPostModelTests(TestCase): + def test_can_create_model(self): + with open( + os.path.join(os.path.dirname(__file__), "test_data", "test_img.png"), + mode="rb", + ) as f: + try: + p = Post.objects.create( + img=File(f, "somefile.png"), + title="Foobar", + body="Some file", + ) + + self.assertIn("Foobar", str(p)) + finally: + p.img.delete() diff --git a/requirements/base.txt b/requirements/base.txt index e69de29..3e69a73 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -0,0 +1,2 @@ +pillow +django