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.
Completed
Push — master ( 3c2947...07eb92 )
by Jason
01:08
created

ReservableOrderCreatorTestCase.setUp()   A

Complexity

Conditions 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 5
rs 9.4285
1
import datetime
2
from decimal import Decimal
3
4
from dateutil import relativedelta
5
from django.conf import settings
6
from django.core.urlresolvers import reverse
7
from django.test import Client, RequestFactory
8
from django.utils.timezone import make_aware
9
from django.utils.translation import activate
10
from freezegun import freeze_time
11
from mock import Mock
12
from shoop.testing.factories import create_empty_order, get_default_shop
13
14
from reservable_pricing.factories import PeriodPriceModifierFactory
15
from shoop.core.models import ShopProduct
16
17
from kakaravaara.tests import KakaravaaraTestsBase
18
from reservations.basket import ReservableOrderCreator
19
from reservations.factories import ReservableProductFactory, ReservationFactory
20
from reservations.models import Reservation
21
from shoop.xtheme import set_current_theme
22
23
24
class ReservationsGetReservedDatesTestCase(KakaravaaraTestsBase):
25
26
    def setUp(self):
27
        super(ReservationsGetReservedDatesTestCase, self).setUp()
28
        self.reservable = ReservableProductFactory()
29
30
    def test_get_reserved_dates_returns_correct_dates(self):
31
        ReservationFactory(
32
            reservable=self.reservable,
33
            start_time=datetime.datetime(year=2015, month=6, day=30, hour=15),
34
            end_time=datetime.datetime(year=2015, month=7, day=5, hour=12)
35
        )
36
        ReservationFactory(
37
            reservable=self.reservable,
38
            start_time=datetime.datetime(year=2015, month=7, day=10, hour=12),
39
            end_time=datetime.datetime(year=2015, month=7, day=15, hour=12)
40
        )
41
        dates = self.reservable.get_reserved_dates(
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named get_reserved_dates.

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...
42
            start=datetime.date(year=2015, month=5, day=1),
43
            end=datetime.date(year=2015, month=8, day=1)
44
        )
45
        self.assertEquals(len(dates), 10)
0 ignored issues
show
Bug introduced by
The Instance of ReservationsGetReservedDatesTestCase does not seem to have a member named assertEquals.

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...
46
47
    def test_get_reserved_dates_for_period_returns_correct_dates(self):
48
        self.reservable2 = ReservableProductFactory()
49
        ReservationFactory(
50
            reservable=self.reservable,
51
            start_time=datetime.datetime(year=2015, month=6, day=30, hour=15),
52
            end_time=datetime.datetime(year=2015, month=7, day=5, hour=12)
53
        )
54
        ReservationFactory(
55
            reservable=self.reservable2,
56
            start_time=datetime.datetime(year=2015, month=7, day=10, hour=12),
57
            end_time=datetime.datetime(year=2015, month=7, day=15, hour=12)
58
        )
59
        dates = Reservation.get_reserved_days_for_period(
60
            start_date=datetime.date(year=2015, month=6, day=30),
61
            end_date=datetime.date(year=2015, month=7, day=15)
62
        )
63
        self.assertEquals(len(dates), 10)
0 ignored issues
show
Bug introduced by
The Instance of ReservationsGetReservedDatesTestCase does not seem to have a member named assertEquals.

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...
64
65
    def test_is_period_free(self):
66
        ReservationFactory(
67
            reservable=self.reservable,
68
            start_time=datetime.datetime(year=2015, month=6, day=30, hour=15),
69
            end_time=datetime.datetime(year=2015, month=7, day=5, hour=12)
70
        )
71
        ReservationFactory(
72
            reservable=self.reservable,
73
            start_time=datetime.datetime(year=2015, month=7, day=10, hour=12),
74
            end_time=datetime.datetime(year=2015, month=7, day=15, hour=12)
75
        )
76
        self.assertFalse(self.reservable.is_period_days_free(
0 ignored issues
show
Bug introduced by
The Instance of ReservationsGetReservedDatesTestCase does not seem to have a member named assertFalse.

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...
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named is_period_days_free.

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...
77
            datetime.date(year=2015, month=6, day=27),
78
            datetime.date(year=2015, month=7, day=3)
79
        ))
80
        self.assertTrue(self.reservable.is_period_days_free(
0 ignored issues
show
Bug introduced by
The Instance of ReservationsGetReservedDatesTestCase does not seem to have a member named assertTrue.

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...
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named is_period_days_free.

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...
81
            datetime.date(year=2015, month=6, day=27),
82
            datetime.date(year=2015, month=6, day=29)
83
        ))
84
        self.assertTrue(self.reservable.is_period_days_free(
0 ignored issues
show
Bug introduced by
The Instance of ReservationsGetReservedDatesTestCase does not seem to have a member named assertTrue.

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...
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named is_period_days_free.

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...
85
            datetime.date(year=2015, month=6, day=27),
86
            datetime.date(year=2015, month=6, day=30)
87
        ))
88
89
90
class ReservableViewsBaseTestCase(KakaravaaraTestsBase):
91
    def setUp(self):
92
        super(ReservableViewsBaseTestCase, self).setUp()
93
        activate("en")
94
        set_current_theme("shoop_simple_theme")
95
        self.client = Client()
96
97
98
@freeze_time("2015-12-15")
99
class ReservableSearchViewTestCase(ReservableViewsBaseTestCase):
100
    def setUp(self):
101
        super(ReservableSearchViewTestCase, self).setUp()
102
        self.reservable = ReservableProductFactory()
103
        self.today = datetime.date.today()
104
        self.now = datetime.time(15)
105
        self.next = self.today + relativedelta.relativedelta(months=1)
106
        self.reservation = ReservationFactory(
107
            reservable=self.reservable,
108
            start_time=datetime.datetime.combine(self.today, self.now),
109
            end_time=datetime.datetime.combine(self.today + datetime.timedelta(days=3), self.now)
110
        )
111
        self.response = self.client.get(reverse('reservations:reservable.search'))
112
113
    def test_view_responds(self):
114
        self.assertContains(self.response, u"Select months to search from")
0 ignored issues
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertContains.

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...
115
116
    def test_context_data(self):
117
        context = self.response.context_data
118
        self.assertEqual(list(context["reservables"]), [self.reservable])
1 ignored issue
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertEqual.

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...
119
        self.assertEqual(context["start_month"], self.today.strftime("%m/%Y"))
1 ignored issue
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertEqual.

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...
120
        self.assertEqual(context["end_month"], self.next.strftime("%m/%Y"))
1 ignored issue
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertEqual.

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...
121
        self.assertEqual(
1 ignored issue
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertEqual.

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...
122
            context["start_date"],
123
            (self.today + relativedelta.relativedelta(day=1)).strftime("%Y-%m-%d %H:%M")
124
        )
125
        self.assertEqual(
1 ignored issue
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertEqual.

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...
126
            context["end_date"],
127
            (self.today + relativedelta.relativedelta(day=1, months=+2, days=-1)).strftime("%Y-%m-%d %H:%M")
128
        )
129
        self.assertEqual(context["reserved_days"], {
1 ignored issue
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertEqual.

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...
130
            self.reservable.product.sku: [
131
                self.today.strftime("%Y-%m-%d"),
132
                (self.today + datetime.timedelta(days=1)).strftime("%Y-%m-%d"),
133
                (self.today + datetime.timedelta(days=2)).strftime("%Y-%m-%d"),
134
            ]
135
        })
136
        self.assertEqual(context["visible_attributes"], settings.RESERVABLE_SEARCH_VISIBLE_ATTRIBUTES)
1 ignored issue
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertEqual.

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...
137
        self.assertEqual(
1 ignored issue
show
Bug introduced by
The Instance of ReservableSearchViewTestCase does not seem to have a member named assertEqual.

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...
138
            context["months"],
139
            [
140
                self.today.strftime("%Y-%m"),
141
                (self.today + relativedelta.relativedelta(months=1)).strftime("%Y-%m"),
142
            ]
143
        )
144
145
146
class DateRangeCheckViewTestCase(ReservableViewsBaseTestCase):
147
    def setUp(self):
148
        super(DateRangeCheckViewTestCase, self).setUp()
149
        self.reservable = ReservableProductFactory()
150
        self.reservation = ReservationFactory(
151
            reservable=self.reservable,
152
            start_time=datetime.datetime.today(),
153
            end_time=datetime.datetime.today() + datetime.timedelta(days=3)
154
        )
155
        self.today = datetime.date.today()
156
        self.next = datetime.date.today() + relativedelta.relativedelta(months=1)
157
158
    def test_view_returns_bad_request_on_missing_parameters(self):
159
        response = self.client.get(reverse('reservations:check_period'))
160
        self.assertEqual(response.status_code, 400)
1 ignored issue
show
Bug introduced by
The Instance of DateRangeCheckViewTestCase does not seem to have a member named assertEqual.

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...
161
        url = "%s?reservable_id=1" % reverse('reservations:check_period')
162
        response = self.client.get(url)
163
        self.assertEqual(response.status_code, 400)
1 ignored issue
show
Bug introduced by
The Instance of DateRangeCheckViewTestCase does not seem to have a member named assertEqual.

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...
164
        url = "%s?start=2015-10-01" % reverse('reservations:check_period')
165
        response = self.client.get(url)
166
        self.assertEqual(response.status_code, 400)
1 ignored issue
show
Bug introduced by
The Instance of DateRangeCheckViewTestCase does not seem to have a member named assertEqual.

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...
167
        url = "%s?end=2015-10-01" % reverse('reservations:check_period')
168
        response = self.client.get(url)
169
        self.assertEqual(response.status_code, 400)
1 ignored issue
show
Bug introduced by
The Instance of DateRangeCheckViewTestCase does not seem to have a member named assertEqual.

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...
170
171
    def test_free_period_should_return_period_is_free(self):
172
        request = RequestFactory().get("/")
173
        request.shop = self.shop
174
        response = self.client.get(
175
            "%s?reservable_id=%s&start=%s&end=%s" % (
176
                reverse('reservations:check_period'),
177
                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...
178
                self.next.strftime("%Y-%m-%d"),
179
                (self.next + datetime.timedelta(days=3)).strftime("%Y-%m-%d")
180
            )
181
        )
182
        price_info = self.reservable.product.get_price_info(request, quantity=3)
183
        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...
184
            "result": True,
185
            "price": {
186
                "total": str(price_info.price.quantize(Decimal("1.00"))),
187
                "has_extra_info": False,
188
            }
189
        })
190
191
    def test_free_period_should_return_period_is_free_and_extra_info(self):
192
        request = RequestFactory().get("/")
193
        request.GET = {"persons": 3}
194
        request.shop = self.shop
195
        self.reservable.pricing_per_person = True
196
        self.reservable.pricing_per_person_included = 2
197
        self.reservable.pricing_per_person_price = Decimal("10.00")
198
        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...
199
        response = self.client.get(
200
            "%s?reservable_id=%s&start=%s&end=%s&persons=3" % (
201
                reverse('reservations:check_period'),
202
                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...
203
                self.next.strftime("%Y-%m-%d"),
204
                (self.next + datetime.timedelta(days=3)).strftime("%Y-%m-%d")
205
            )
206
        )
207
        price_info = self.reservable.product.get_price_info(request, quantity=3)
208
        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...
209
            "result": True,
210
            "price": {
211
                "total": str(price_info.price.quantize(Decimal("1.00"))),
212
                "period_modifiers": str(price_info.period_modifiers.quantize(Decimal("1.00"))),
213
                "per_person_modifiers": str(price_info.per_person_modifiers.quantize(Decimal("1.00"))),
214
                "has_extra_info": True,
215
                "special_period_str": "Special period",
216
                "persons_count_str": "Person count",
217
            }
218
        })
219
220
    def test_reserved_period_should_return_period_is_reserved(self):
221
        response = self.client.get(
222
            "%s?reservable_id=%s&start=%s&end=%s" % (
223
                reverse('reservations:check_period'),
224
                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...
225
                self.today.strftime("%Y-%m-%d"),
226
                (self.today + datetime.timedelta(days=10)).strftime("%Y-%m-%d")
227
            )
228
        )
229
        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...
230
            "result": False,
231
            "price": None,
232
        })
233
234
235
class ReservablePricePerPersonTestCase(KakaravaaraTestsBase):
236
    def setUp(self):
237
        super(ReservablePricePerPersonTestCase, self).setUp()
238
        self.request = RequestFactory().get("/")
239
        self.request.GET = {"persons": 3}
240
        self.request.shop = self.shop
241
        self.reservable = ReservableProductFactory(
242
            pricing_per_person_included=0, pricing_per_person_price=Decimal("10.00"),
243
        )
244
245
    def test_reservable_with_pricing_per_person_disabled_person_count_doesnt_change_price(self):
246
        self.reservable.pricing_per_person = False
247
        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...
248
        price = self.reservable.product.get_price(self.request, quantity=1).quantize(Decimal("1.00"))
249
        shop_product = ShopProduct.objects.get(product_id=self.reservable.product_id, shop=self.shop)
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named product_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...
250
        self.assertEqual(price, shop_product.default_price)
1 ignored issue
show
Bug introduced by
The Instance of ReservablePricePerPersonTestCase does not seem to have a member named assertEqual.

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...
251
252
    def test_reservable_with_pricing_per_person_active_person_count_changes_price(self):
253
        self.reservable.pricing_per_person = True
254
        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...
255
        price = self.reservable.product.get_price(self.request, quantity=1).quantize(Decimal("1.00"))
256
        shop_product = ShopProduct.objects.get(product_id=self.reservable.product_id, shop=self.shop)
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named product_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...
257
        self.assertAlmostEqual(price.value, shop_product.default_price_value + 3 * Decimal("10.00"), 6)
0 ignored issues
show
Bug introduced by
The Instance of ReservablePricePerPersonTestCase does not seem to have a member named assertAlmostEqual.

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...
258
259
    def test_reservable_with_pricing_per_person_active_person_count_changes_price_more_nights(self):
260
        self.reservable.pricing_per_person = True
261
        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...
262
        price = self.reservable.product.get_price(self.request, quantity=3).quantize(Decimal("1.00"))
263
        shop_product = ShopProduct.objects.get(product_id=self.reservable.product_id, shop=self.shop)
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named product_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...
264
        self.assertAlmostEqual(price.value, shop_product.default_price_value * 3 + 3 * Decimal("10.00") * 3, 6)
0 ignored issues
show
Bug introduced by
The Instance of ReservablePricePerPersonTestCase does not seem to have a member named assertAlmostEqual.

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...
265
266
    def test_reservable_with_pricing_per_person_included_count_zero(self):
267
        self.reservable.pricing_per_person = True
268
        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...
269
        price = self.reservable.product.get_price(self.request, quantity=1).quantize(Decimal("1.00"))
270
        shop_product = ShopProduct.objects.get(product_id=self.reservable.product_id, shop=self.shop)
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named product_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...
271
        self.assertAlmostEqual(price.value, shop_product.default_price_value + 3 * Decimal("10.00"), 6)
0 ignored issues
show
Bug introduced by
The Instance of ReservablePricePerPersonTestCase does not seem to have a member named assertAlmostEqual.

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...
272
273
    def test_reservable_with_pricing_per_person_included_count_above_zero(self):
274
        self.reservable.pricing_per_person = True
275
        self.reservable.pricing_per_person_included = 2
276
        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...
277
        price = self.reservable.product.get_price(self.request, quantity=1).quantize(Decimal("1.00"))
278
        shop_product = ShopProduct.objects.get(product_id=self.reservable.product_id, shop=self.shop)
0 ignored issues
show
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named product_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...
279
        self.assertAlmostEqual(price.value, shop_product.default_price_value + Decimal("10.00"), 6)
0 ignored issues
show
Bug introduced by
The Instance of ReservablePricePerPersonTestCase does not seem to have a member named assertAlmostEqual.

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...
280
281
282
class ReservableHasPriceModifiersTestCase(KakaravaaraTestsBase):
283
    def setUp(self):
284
        super(ReservableHasPriceModifiersTestCase, self).setUp()
285
        self.reservable = ReservableProductFactory()
286
        self.tomorrow = datetime.date.today() + datetime.timedelta(days=1)
287
        self.yesterday = datetime.date.today() - datetime.timedelta(days=1)
288
289
    def test_reservable_has_no_modifiers(self):
290
        self.assertFalse(self.reservable.has_price_modifiers)
0 ignored issues
show
Bug introduced by
The Instance of ReservableHasPriceModifiersTestCase does not seem to have a member named assertFalse.

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...
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named has_price_modifiers.

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...
291
292
    def test_reservable_has_per_person_modifier(self):
293
        self.reservable.pricing_per_person = True
294
        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...
295
        self.assertTrue(self.reservable.has_price_modifiers)
0 ignored issues
show
Bug introduced by
The Instance of ReservableHasPriceModifiersTestCase does not seem to have a member named assertTrue.

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...
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named has_price_modifiers.

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...
296
297
    def test_reservable_has_period_price_modifiers(self):
298
        PeriodPriceModifierFactory(
299
            product=self.reservable.product, start_date=self.tomorrow, end_date=self.tomorrow)
300
        self.assertTrue(self.reservable.has_price_modifiers)
0 ignored issues
show
Bug introduced by
The Instance of ReservableHasPriceModifiersTestCase does not seem to have a member named assertTrue.

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...
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named has_price_modifiers.

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...
301
302
    def test_reservable_has_only_passed_period_price_modifiers(self):
303
        PeriodPriceModifierFactory(
304
            product=self.reservable.product, start_date=self.yesterday, end_date=self.yesterday)
305
        self.assertFalse(self.reservable.has_price_modifiers)
0 ignored issues
show
Bug introduced by
The Instance of ReservableHasPriceModifiersTestCase does not seem to have a member named assertFalse.

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...
Bug introduced by
The Instance of ReservableProductFactory does not seem to have a member named has_price_modifiers.

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...
306
307
308
class MockOrderLine(Mock):
309
    def __init__(self, product, quantity, reservation_start, persons):
310
        super(MockOrderLine, self).__init__()
311
        self.product = product
312
        self.quantity = quantity
313
        self.source_line = {
314
            "reservation_start": reservation_start,
315
            "persons": persons,
316
        }
317
        self.order = create_empty_order(shop=get_default_shop()).save()
318
        self.extra_data = {}
319
        self.save_called = False
320
321
    def save(self):
322
        self.save_called = True
323
324
325
class ReservableOrderCreatorTestCase(KakaravaaraTestsBase):
326
    def setUp(self):
327
        super(ReservableOrderCreatorTestCase, self).setUp()
328
        self.request = RequestFactory().get("/")
329
        self.reservable = ReservableProductFactory()
330
        self.roc = ReservableOrderCreator(request=self.request)
331
332
    def test_reservation_is_created_with_correct_data(self):
333
        mock_order_line = MockOrderLine(self.reservable.product, 3, datetime.date(2016, 1, 1), 3)
334
        self.roc.process_saved_order_line(Mock(), mock_order_line)
335
        self.assertTrue(mock_order_line.save_called)
0 ignored issues
show
Bug introduced by
The Instance of ReservableOrderCreatorTestCase does not seem to have a member named assertTrue.

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...
336
        reservation = Reservation.objects.first()
0 ignored issues
show
Bug introduced by
The Class Reservation does not seem to have a member named objects.

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...
337
        self.assertEqual(reservation.reservable, self.reservable)
1 ignored issue
show
Bug introduced by
The Instance of ReservableOrderCreatorTestCase does not seem to have a member named assertEqual.

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...
338
        self.assertEqual(reservation.order, mock_order_line.order)
1 ignored issue
show
Bug introduced by
The Instance of ReservableOrderCreatorTestCase does not seem to have a member named assertEqual.

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...
339
        start_time = make_aware(datetime.datetime.combine(datetime.date(2016, 1, 1), self.reservable.check_in_time))
340
        self.assertEqual(reservation.start_time, start_time)
1 ignored issue
show
Bug introduced by
The Instance of ReservableOrderCreatorTestCase does not seem to have a member named assertEqual.

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...
341
        end_time = make_aware(datetime.datetime.combine(datetime.date(2016, 1, 4), self.reservable.check_out_time))
342
        self.assertEqual(reservation.end_time, end_time)
1 ignored issue
show
Bug introduced by
The Instance of ReservableOrderCreatorTestCase does not seem to have a member named assertEqual.

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...
343
        self.assertEqual(reservation.persons, 3)
1 ignored issue
show
Bug introduced by
The Instance of ReservableOrderCreatorTestCase does not seem to have a member named assertEqual.

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...
344