GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

DateRangeCheckViewTestCase   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 86
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
c 3
b 0
f 0
dl 0
loc 86
rs 10
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A test_view_returns_bad_request_on_missing_parameters() 0 12 1
A setUp() 0 10 1
A test_reserved_period_should_return_period_is_reserved() 0 12 1
A test_free_period_should_return_period_is_free() 0 17 1
B test_free_period_should_return_period_is_free_and_extra_info() 0 26 1
1
import datetime
2
from decimal import Decimal
3
4
from dateutil import relativedelta
5
from django.core.urlresolvers import reverse
6
from django.test import RequestFactory
7
8
from reservations.factories import ReservableProductFactory, ReservationFactory
9
from reservations.tests.test_reservable_views import ReservableViewsBaseTestCase
10
from shoop.utils.i18n import format_money
11
12
13
class DateRangeCheckViewTestCase(ReservableViewsBaseTestCase):
14
    def setUp(self):
15
        super(DateRangeCheckViewTestCase, self).setUp()
16
        self.reservable = ReservableProductFactory()
17
        self.reservation = ReservationFactory(
18
            reservable=self.reservable,
19
            start_time=datetime.datetime.today(),
20
            end_time=datetime.datetime.today() + datetime.timedelta(days=3)
21
        )
22
        self.today = datetime.date.today()
23
        self.next = datetime.date.today() + relativedelta.relativedelta(months=1)
24
25
    def test_view_returns_bad_request_on_missing_parameters(self):
26
        response = self.client.get(reverse('reservations:check_period'))
27
        self.assertEqual(response.status_code, 400)
28
        url = "%s?reservable_id=1" % reverse('reservations:check_period')
29
        response = self.client.get(url)
30
        self.assertEqual(response.status_code, 400)
31
        url = "%s?start=2015-10-01" % reverse('reservations:check_period')
32
        response = self.client.get(url)
33
        self.assertEqual(response.status_code, 400)
34
        url = "%s?end=2015-10-01" % reverse('reservations:check_period')
35
        response = self.client.get(url)
36
        self.assertEqual(response.status_code, 400)
37
38
    def test_free_period_should_return_period_is_free(self):
39
        request = RequestFactory().get("/")
40
        request.shop = self.shop
41
        response = self.client.get(
42
            "%s?reservable_id=%s&start=%s&end=%s" % (
43
                reverse('reservations:check_period'),
44
                self.reservable.id,
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named id.

This check looks for calls to members that are non-existent. These calls will fail.

The member could have been renamed or removed.

Loading history...
45
                self.next.strftime("%Y-%m-%d"),
46
                (self.next + datetime.timedelta(days=3)).strftime("%Y-%m-%d")
47
            )
48
        )
49
        price_info = self.reservable.product.get_price_info(request, quantity=3)
50
        self.assertJSONEqual(response.content.decode("utf-8"), {
0 ignored issues
show
Bug introduced by
The Instance of DateRangeCheckViewTestCase does not seem to have a member named assertJSONEqual.

This check looks for calls to members that are non-existent. These calls will fail.

The member could have been renamed or removed.

Loading history...
51
            "result": True,
52
            "price": {
53
                "total": format_money(price_info.price),
54
                "has_extra_info": False,
55
            }
56
        })
57
58
    def test_free_period_should_return_period_is_free_and_extra_info(self):
59
        request = RequestFactory().get("/")
60
        request.GET = {"persons": 3}
61
        request.shop = self.shop
62
        self.reservable.pricing_per_person = True
63
        self.reservable.pricing_per_person_included = 2
64
        self.reservable.pricing_per_person_price = Decimal("10.00")
65
        self.reservable.save()
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named save.

This check looks for calls to members that are non-existent. These calls will fail.

The member could have been renamed or removed.

Loading history...
66
        response = self.client.get(
67
            "%s?reservable_id=%s&start=%s&end=%s&persons=3" % (
68
                reverse('reservations:check_period'),
69
                self.reservable.id,
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named id.

This check looks for calls to members that are non-existent. These calls will fail.

The member could have been renamed or removed.

Loading history...
70
                self.next.strftime("%Y-%m-%d"),
71
                (self.next + datetime.timedelta(days=3)).strftime("%Y-%m-%d")
72
            )
73
        )
74
        price_info = self.reservable.product.get_price_info(request, quantity=3)
75
        self.assertJSONEqual(response.content.decode("utf-8"), {
0 ignored issues
show
Bug introduced by
The Instance of DateRangeCheckViewTestCase does not seem to have a member named assertJSONEqual.

This check looks for calls to members that are non-existent. These calls will fail.

The member could have been renamed or removed.

Loading history...
76
            "result": True,
77
            "price": {
78
                "total": format_money(price_info.price),
79
                "period_modifiers": str(price_info.period_modifiers.quantize(Decimal("1.00"))),
80
                "per_person_modifiers": str(price_info.per_person_modifiers.quantize(Decimal("1.00"))),
81
                "has_extra_info": True,
82
                "special_period_str": "Special period",
83
                "persons_count_str": "Person count",
84
            }
85
        })
86
87
    def test_reserved_period_should_return_period_is_reserved(self):
88
        response = self.client.get(
89
            "%s?reservable_id=%s&start=%s&end=%s" % (
90
                reverse('reservations:check_period'),
91
                self.reservable.id,
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named id.

This check looks for calls to members that are non-existent. These calls will fail.

The member could have been renamed or removed.

Loading history...
92
                self.today.strftime("%Y-%m-%d"),
93
                (self.today + datetime.timedelta(days=10)).strftime("%Y-%m-%d")
94
            )
95
        )
96
        self.assertJSONEqual(response.content.decode("utf-8"), {
0 ignored issues
show
Bug introduced by
The Instance of DateRangeCheckViewTestCase does not seem to have a member named assertJSONEqual.

This check looks for calls to members that are non-existent. These calls will fail.

The member could have been renamed or removed.

Loading history...
97
            "result": False,
98
            "price": None,
99
        })
100