|
17 | 17 | # from seed.audit_template.audit_template import build_xml
|
18 | 18 | from seed.audit_template.audit_template import AuditTemplate
|
19 | 19 | from seed.landing.models import SEEDUser as User
|
| 20 | +from seed.lib.tkbl.tkbl import SCOPE_ONE_EMISSION_CODES |
20 | 21 | from seed.models import Meter, MeterReading, Uniformat
|
21 | 22 | from seed.test_helpers.fake import (
|
22 | 23 | FakeCycleFactory,
|
@@ -240,8 +241,6 @@ def test_build_xml_from_property_with_meter_readings(self):
|
240 | 241 | self.assertEqual(float(reading.text), 123)
|
241 | 242 |
|
242 | 243 | def test_build_xml_from_property_with_measures(self):
|
243 |
| - from seed.lib.tkbl.tkbl import SCOPE_ONE_EMISSION_CODES |
244 |
| - |
245 | 244 | # Set Up
|
246 | 245 | self.element1 = self.element_factory.get_element(
|
247 | 246 | property=self.view1.property, code=Uniformat.objects.filter(code__in=SCOPE_ONE_EMISSION_CODES)[1]
|
@@ -285,6 +284,54 @@ def test_build_xml_from_property_with_measures(self):
|
285 | 284 | {m.find("auc:MeasureName", namespaces=tree.nsmap).text for m in chilled_water_hot_water_and_steam_distribution_systems},
|
286 | 285 | )
|
287 | 286 |
|
| 287 | + def test_build_xml_from_property_with_measures_and_meters_org_settings(self): |
| 288 | + # Set Up |
| 289 | + self.org.audit_template_export_meters = False |
| 290 | + self.org.audit_template_export_measures = False |
| 291 | + self.org.save() |
| 292 | + |
| 293 | + self.element1 = self.element_factory.get_element( |
| 294 | + property=self.view1.property, code=Uniformat.objects.filter(code__in=SCOPE_ONE_EMISSION_CODES)[1] |
| 295 | + ) |
| 296 | + self.element2 = self.element_factory.get_element( |
| 297 | + property=self.view1.property, code=Uniformat.objects.filter(code__in=SCOPE_ONE_EMISSION_CODES)[2] |
| 298 | + ) |
| 299 | + |
| 300 | + self.meter = Meter.objects.create(property_id=self.view1.property_id, type=Meter.ELECTRICITY_GRID) |
| 301 | + MeterReading.objects.create( |
| 302 | + start_time=datetime(2019, 1, 1, 0, 0, 0, tzinfo=tz.utc), |
| 303 | + end_time=datetime(2019, 2, 1, 0, 0, 0, tzinfo=tz.utc), |
| 304 | + reading=123, |
| 305 | + meter_id=self.meter.id, |
| 306 | + conversion_factor=1, |
| 307 | + ) |
| 308 | + |
| 309 | + # Action |
| 310 | + at = AuditTemplate(self.org.id) |
| 311 | + response = at.build_xml(self.state1, "Demo City Report", self.state1.pm_property_id) |
| 312 | + |
| 313 | + # Assert |
| 314 | + # # is tree |
| 315 | + self.assertEqual(tuple, type(response)) |
| 316 | + tree = etree.XML(response[0]) |
| 317 | + |
| 318 | + # # has 1 scenario |
| 319 | + scenarios = tree.findall("auc:Facilities/auc:Facility/auc:Reports/auc:Report/auc:Scenarios/auc:Scenario", namespaces=tree.nsmap) |
| 320 | + self.assertEqual(1, len(scenarios)) |
| 321 | + scenario = scenarios[0] |
| 322 | + |
| 323 | + # # scenario has 0 meters |
| 324 | + meters = scenario.findall("auc:ResourceUses/auc:ResourceUse", namespaces=tree.nsmap) |
| 325 | + self.assertEqual(0, len(meters)) |
| 326 | + |
| 327 | + # # scenario has 0 meter readings |
| 328 | + meter_readings = scenario.findall("auc:TimeSeriesData/auc:TimeSeries", namespaces=tree.nsmap) |
| 329 | + self.assertEqual(0, len(meter_readings)) |
| 330 | + |
| 331 | + # # tree has 0 measures |
| 332 | + measures = tree.findall("auc:Facilities/auc:Facility/auc:Measures", namespaces=tree.nsmap) |
| 333 | + self.assertEqual(0, len(measures)) |
| 334 | + |
288 | 335 | @mock.patch("requests.request")
|
289 | 336 | def test_export_to_audit_template(self, mock_request):
|
290 | 337 | """
|
|
0 commit comments