Skip to main content

Package with new powerful TestCases and Assets to test django application fast. TDD is supported

Project description

Django DRY Tests

Package with new powerful TestCases and Assets to test django application fast. TDD is supported

You can find Full Project Documentation here


Workflows

Tests Pylint

Package

Version Development Status Python version License Wheel

Support

Documentation Discussions Issues

Downloads

Day Downloads Week Downloads Month Downloads All Downloads

Languages

Languages Top Language

Development

  • Release date Last Commit
  • Issues Closed Issues
  • Pull Requests Closed Pull Requests
  • Discussions

Menu

Mission

The mission of the Django DRY Tests to design and develop open source python package to test django application

  • fast
  • with minimal code duplication
  • with the ability to use TDD easily
  • simple and comfortable

Open Source Project

This is the open source project with MIT license. Be free to use, fork, clone and contribute.

Features

  • Special Request, Response and Form classes to simple set test data
  • Special SimpleTestCase and TestCase classes with new asserts:
    • The main asserts is assertTrueResponse and assertTrueForm. You can use this for most cases.

Requirements

Development Status

Install

with pip

pip install django-dry-tests

See more in Full Documentation

Quickstart

To test view

class QuickStartViewSimpleTestCase(SimpleTestCase):
    """
    SimpleTestCase example
    """

    def test_get(self):
        """
        Test Example with django-dry-tests
        :return:
        """
        # Create Request Model
        request = Request(
            url='/quickstart/'
        )

        # Create Response Model to check all view.
        # You can set only one param without others to check it.
        true_response = TrueResponse(
            status_code=200,
            context=Context(
                keys=['quickstart'],  # check that quickstart key in context
                values=['Quickstart'],  # check that "Quickstart" value in context
                items={
                    'quickstart': 'Quickstart'
                },  # check both keys and values in context
                types={
                    'quickstart': str
                }  # check values types without check values
            ),
            content_values = [
                'Quickstart',
                '<h1>Quickstart title</h1>'
            ],  # check values after template will be rendered
        )

        # get url response with Django default Test Client
        current_response = request.get_response(self.client)
        # Use main assert to run all asserts
        self.assertTrueResponse(current_response, true_response)

To test Form

class ExampleFromTestCase(SimpleTestCase):
    """
    Example Form Test Class
    """

    def test_form(self):
        """
        Example Test with django-dry-tests
        :return:
        """
        true_form = TrueForm(  # Set Up TrueForm instance
               Fields(  # TrueForm Fields
                   count=2,  # check fields count
                   names=[
                       'number', 'name'
                   ],  # check field names
                   types={
                       'name': forms.CharField,
                       'number': forms.IntegerField
                   }  # check fields types
               ),
            )
        current_form = ExampleForm()  # Get project form
        self.assertTrueForm(current_form, true_form)  # use this main assert to check all conditions

More examples in Full Documentation

Contributing

You are welcome! To easy start please check:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-dry-tests-1.0.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

django_dry_tests-1.0.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file django-dry-tests-1.0.0.tar.gz.

File metadata

  • Download URL: django-dry-tests-1.0.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for django-dry-tests-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d36c4f4c00f5b6e94f9c5a744081b24320fbffa524f28338dd27cd1935fb5200
MD5 086c7c1545fa5f2bbc93b71b6e162e48
BLAKE2b-256 b7fdf303479a210a9d5d2dd577b25935ea024daa6e7ef59dc7955549f6c9d458

See more details on using hashes here.

File details

Details for the file django_dry_tests-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_dry_tests-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 073f2f110d046eeba951957e66089a770b5ccc15be6ab0e38eaadfa9e543c611
MD5 9546f5a660e5a3301313a4a651259d86
BLAKE2b-256 a84b15c2c049db844622a94e99fff0eed49e379c65e699d331b0a6bd5a3e4c7d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page