Subject: [PATCH v4 18/19] gnu: Add python-wagtail-factories.

From: Nicolas Graves <[email-masked]>
Date: Mon, 5 Jun 2023 18:25:13 +0200

* gnu/packages/django.scm (python-wagtail-factories): New variable.
---
 gnu/packages/django.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 235de8a015..8a5f8471ab 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1664,3 +1664,41 @@ (define-public python-wagtail
     (description "This package provides a Content Management System based on
 Django.")
     (license license:bsd-3)))
+
+(define-public python-wagtail-factories
+  (package
+    (name "python-wagtail-factories")
+    (version "4.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Fetch from the git repository, so that the tests can be run.
+       (uri (git-reference
+             (url "https://github.com/wagtail/wagtail-factories/")
+             (commit (string-append "v" version))))
+       (file-name (string-append name "-" version))
+       (sha256
+        (base32 "19ggc9nm31w7gq2k48ijhiq8dgkh63dsycvhrklxsrh8zwkwgln4"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:test-flags '("--settings=tests.settings" "--pythonpath=.")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? test-flags #:allow-other-keys)
+             (if tests?
+                 (apply invoke "django-admin" "test" test-flags)
+                 (format #t "test suite not run~%"))))
+         ;; Importing this module requires setting up a Django project.
+         (delete 'sanity-check))))
+    (propagated-inputs (list python-factory-boy))
+    (native-inputs (list python-pytest
+                         python-pytest-django
+                         (package/inherit python-wagtail
+                               (native-inputs '())
+                               (arguments '(#:tests? #f)))))
+    (home-page "https://github.com/wagtail/wagtail-factories/")
+    (synopsis "Factory boy classes for wagtail")
+    (description "This package provides factory boy classes for
+@code{wagtail}. It is used for the migrating streamfields.")
+    (license license:expat)))
-- 
2.40.1