5
5
from dsmr_api .tests .v2 import APIv2TestCase
6
6
from dsmr_consumption .models .energysupplier import EnergySupplierPrice
7
7
from dsmr_datalogger .models .statistics import MeterStatistics
8
+ from dsmr_consumption .models .consumption import GasConsumption
8
9
9
10
10
11
class TestToday (APIv2TestCase ):
@@ -49,7 +50,7 @@ def test_get(self, now_mock):
49
50
50
51
# Without prices.
51
52
result = self ._request ('electricity-live' )
52
- self .assertEqual (result ['timestamp' ], '2016-07-01T20 :00:00Z ' )
53
+ self .assertEqual (result ['timestamp' ], '2016-07-01T22 :00:00+02:00 ' )
53
54
self .assertEqual (result ['currently_returned' ], 123 )
54
55
self .assertEqual (result ['currently_delivered' ], 1123 )
55
56
@@ -63,12 +64,45 @@ def test_get(self, now_mock):
63
64
MeterStatistics .objects .update (electricity_tariff = 1 )
64
65
65
66
result = self ._request ('electricity-live' )
66
- self .assertEqual (result ['timestamp' ], '2016-07-01T20 :00:00Z ' )
67
+ self .assertEqual (result ['timestamp' ], '2016-07-01T22 :00:00+02:00 ' )
67
68
self .assertEqual (result ['currently_returned' ], 123 )
68
69
self .assertEqual (result ['currently_delivered' ], 1123 )
69
70
self .assertEqual (result ['cost_per_hour' ], '0.02' )
70
71
71
72
73
+ class GasLive (APIv2TestCase ):
74
+ @mock .patch ('django.utils.timezone.now' )
75
+ def test_get (self , now_mock ):
76
+ now_mock .return_value = timezone .make_aware (timezone .datetime (2019 , 4 , 20 ))
77
+ GasConsumption .objects .create (** {
78
+ "read_at" : "2019-04-19T12:00:00+02:00" ,
79
+ "delivered" : "123.456" ,
80
+ "currently_delivered" : "0.000"
81
+ })
82
+ GasConsumption .objects .create (** {
83
+ "read_at" : "2019-04-19T13:00:00+02:00" ,
84
+ "delivered" : "125.000" ,
85
+ "currently_delivered" : "1.544"
86
+ })
87
+
88
+ # Without prices.
89
+ result = self ._request ('gas-live' )
90
+ self .assertEqual (result ['timestamp' ], '2019-04-19T13:00:00+02:00' )
91
+ self .assertEqual (result ['currently_delivered' ], 1.544 )
92
+
93
+ # Now with prices.
94
+ EnergySupplierPrice .objects .create (
95
+ start = timezone .now ().date (),
96
+ end = (timezone .now () + timezone .timedelta (hours = 24 )).date (),
97
+ gas_price = 0.50 ,
98
+ )
99
+
100
+ result = self ._request ('gas-live' )
101
+ self .assertEqual (result ['timestamp' ], '2019-04-19T13:00:00+02:00' )
102
+ self .assertEqual (result ['currently_delivered' ], 1.544 )
103
+ self .assertEqual (result ['cost_per_hour' ], '0.78' )
104
+
105
+
72
106
class TestElectricity (APIv2TestCase ):
73
107
fixtures = ['dsmr_api/test_electricity_consumption.json' ]
74
108
0 commit comments