public void ProcessData_WithSeveralItems_ReturnsList() { var payload = new EnvironmentAgencyFloodAlertServicePayload { Items = new List <EnvironmentAgencyFloodAlert> { new EnvironmentAgencyFloodAlert { Id = "http://environment.data.gov.uk/flood-monitoring/id/floods/1", EaAreaName = "Cornwall", }, new EnvironmentAgencyFloodAlert { Id = "http://environment.data.gov.uk/flood-monitoring/id/floods/2", EaAreaName = "West", }, new EnvironmentAgencyFloodAlert { Id = "http://environment.data.gov.uk/flood-monitoring/id/floods/3", EaAreaName = "Eastern", } } }; var result = _target.ProcessDataData(payload); Assert.IsNotNull(result); Assert.AreEqual(3, result.Count()); CollectionAssert.AreEqual(new[] { "1", "2", "3" }, result.Select(flood => flood.Id)); }
public void ProcessData_WithPayloadWithSingleItem_ReturnsSingleFlood() { var payload = new EnvironmentAgencyFloodAlertServicePayload { Items = new List <EnvironmentAgencyFloodAlert> { new EnvironmentAgencyFloodAlert { Id = "http://environment.data.gov.uk/flood-monitoring/id/floods/104684", EaAreaName = "Cornwall", FloodAreaId = "114WAFT1W10A00", TimeRaised = new DateTime(2021, 04, 26, 17, 52, 0), SeverityLevel = 4 } } }; var result = _target.ProcessDataData(payload); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count()); var first = result.First(); Assert.AreEqual("104684", first.Id); Assert.AreEqual("Cornwall", first.EaAreaName); Assert.AreEqual("114WAFT1W10A00", first.FloodAreaId); Assert.AreEqual(new DateTime(2021, 04, 26, 17, 52, 0), first.TimeRaised); Assert.AreEqual(SeverityLevel.Yellow, first.Severity); Assert.AreEqual(FloodAction.Ignore, first.Action); }
public void ProcessData_WithEmptyPayload_ReturnsEmptyList() { var emptyPayload = new EnvironmentAgencyFloodAlertServicePayload(); var result = _target.ProcessDataData(emptyPayload); Assert.IsNotNull(result); Assert.AreEqual(new List <Flood>(), result); }
public List <Flood> ProcessDataData(EnvironmentAgencyFloodAlertServicePayload environmentAgencyFloodAlerts) { if (environmentAgencyFloodAlerts?.Items == null) { return(new List <Flood>()); } return(environmentAgencyFloodAlerts.Items .Select(ProcessFloodItem) .ToList()); }
private IEnumerable <Flood> ProcessDataData(EnvironmentAgencyFloodAlertServicePayload environmentAgencyFloodAlerts) { var floodData = new List <Flood>(); if (environmentAgencyFloodAlerts == null || !environmentAgencyFloodAlerts.Items.Any()) { return(floodData); } floodData = _mapper.Map <List <Flood> >(environmentAgencyFloodAlerts.Items); return(floodData); }
public void ProcessData_WithIdWithDifferentUrl_SetsIdCorrectly(string uriId) { var payload = new EnvironmentAgencyFloodAlertServicePayload { Items = new List <EnvironmentAgencyFloodAlert> { new EnvironmentAgencyFloodAlert { Id = uriId, EaAreaName = "West", } } }; var result = _target.ProcessDataData(payload); Assert.AreEqual("104684", result.First().Id); }
public void ProcessData_WithCertainRegions_SetsAction(string region, FloodAction expectedAction) { var payload = new EnvironmentAgencyFloodAlertServicePayload { Items = new List <EnvironmentAgencyFloodAlert> { new EnvironmentAgencyFloodAlert { Id = "http://environment.data.gov.uk/flood-monitoring/id/floods/104684", EaAreaName = region, } } }; var result = _target.ProcessDataData(payload); Assert.AreEqual(expectedAction, result.First().Action); }