public void WhenConstructedWithUrl() { // Arrange var url = @"https://publications.parliament.uk/pa/cm/cmregmem/191105/some_mp.htm"; // Act var rawData = new RawHtmlData(url, DateTimeOffset.MinValue, string.Empty); // Assert Assert.AreEqual("191105", rawData.PublicationSet); }
public void WhenDerivingLikelyPublicationDate() { // Arrange var url = @"https://publications.parliament.uk/pa/cm/cmregmem/191105/some_mp.htm"; // Act var rawData = new RawHtmlData(url, DateTimeOffset.MinValue, string.Empty); // Assert Assert.AreEqual(new DateTime(2019, 11, 5), rawData.LikelyPublicationDate); }
public void Handle(RawHtmlDataAcquiredEvent rawHtmlDataAcquiredEvent) { var rawHtmlData = new RawHtmlData(rawHtmlDataAcquiredEvent.SourceUrl, rawHtmlDataAcquiredEvent.Acquired, rawHtmlDataAcquiredEvent.Html); if (!this.mpTotalsByPublicationSet.ContainsKey(rawHtmlData.MpKey)) { this.mpTotalsByPublicationSet.Add(rawHtmlData.MpKey, new Dictionary <string, PublicationSetTotal>()); } var amount = this.moneyParser.Parse(rawHtmlData.FilteredHtml).Sum(x => x.Amount); this.mpTotalsByPublicationSet[rawHtmlData.MpKey][rawHtmlData.PublicationSet] = new PublicationSetTotal(rawHtmlData.PublicationSet, amount); }