Skip to content

Commit 3e6411e

Browse files
committed
add tests
1 parent 4669613 commit 3e6411e

File tree

6 files changed

+394
-2
lines changed

6 files changed

+394
-2
lines changed

.github/workflows/runtests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
"queries",
120120
"queries_",
121121
"queryset_pickle",
122-
"raw_query",
122+
"raw_query_",
123123
"redirects_tests",
124124
"reserved_names",
125125
"reverse_lookup",

.github/workflows/test-python.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Checkout Django
3333
uses: actions/checkout@v4
3434
with:
35-
repository: 'aclark4life/django'
35+
repository: 'mongodb-forks/django'
3636
ref: 'mongodb-5.0.x'
3737
path: 'django_repo'
3838
persist-credentials: false

django_mongodb/features.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ def django_test_expected_failures(self):
413413
"multiple_database.tests.QueryTestCase.test_raw",
414414
"prefetch_related.tests.RawQuerySetTests",
415415
"queries.tests.Queries1Tests.test_order_by_rawsql",
416+
"raw_query.tests.RawQueryTests",
416417
"schema.test_logging.SchemaLoggerTests.test_extra_args",
417418
"schema.tests.SchemaTests.test_remove_constraints_capital_letters",
418419
"timezones.tests.LegacyDatabaseTests.test_cursor_execute_accepts_naive_datetime",

tests/raw_query_/__init__.py

Whitespace-only changes.

tests/raw_query_/models.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
from django.db import models
2+
3+
from django_mongodb.fields import ObjectIdAutoField
4+
from django_mongodb.managers import MongoManager
5+
6+
7+
class Author(models.Model):
8+
first_name = models.CharField(max_length=255)
9+
last_name = models.CharField(max_length=255)
10+
dob = models.DateField()
11+
12+
objects = MongoManager()
13+
14+
def __init__(self, *args, **kwargs):
15+
super().__init__(*args, **kwargs)
16+
# Protect against annotations being passed to __init__ --
17+
# this'll make the test suite get angry if annotations aren't
18+
# treated differently than fields.
19+
for k in kwargs:
20+
assert k in [f.attname for f in self._meta.fields], (
21+
"Author.__init__ got an unexpected parameter: %s" % k
22+
)
23+
24+
25+
class Book(models.Model):
26+
title = models.CharField(max_length=255)
27+
author = models.ForeignKey(Author, models.CASCADE)
28+
paperback = models.BooleanField(default=False)
29+
opening_line = models.TextField()
30+
31+
objects = MongoManager()
32+
33+
34+
class BookFkAsPk(models.Model):
35+
book = models.ForeignKey(Book, models.CASCADE, primary_key=True, db_column="not_the_default")
36+
37+
objects = MongoManager()
38+
39+
40+
class Coffee(models.Model):
41+
brand = models.CharField(max_length=255, db_column="name")
42+
price = models.DecimalField(max_digits=10, decimal_places=2, default=0)
43+
44+
objects = MongoManager()
45+
46+
47+
class MixedCaseIDColumn(models.Model):
48+
id = ObjectIdAutoField(primary_key=True, db_column="MiXeD_CaSe_Id")
49+
50+
objects = MongoManager()
51+
52+
53+
class Reviewer(models.Model):
54+
reviewed = models.ManyToManyField(Book)
55+
56+
objects = MongoManager()
57+
58+
59+
class FriendlyAuthor(Author):
60+
pass

0 commit comments

Comments
 (0)