public void RecordWebViewFromSameReferrerDomainDoesNotRecordsReferrer() { //arrange var subtextContext = new Mock <ISubtextContext>(); EntryView recordedView = null; subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny <EntryView>())).Callback <EntryView>( view => recordedView = view); subtextContext.Setup(c => c.UrlHelper.BlogUrl()).Returns("/"); subtextContext.Setup(c => c.Blog).Returns(new Blog { Host = "haacked.com" }); subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("GET"); subtextContext.Setup(c => c.HttpContext.Request.UrlReferrer).Returns(new Uri("http://www.haacked.com/")); var settings = new global::Subtext.Framework.Configuration.Tracking { EnableWebStats = true }; var statisticsService = new StatisticsService(subtextContext.Object, settings); //act statisticsService.RecordWebView(new EntryView { EntryId = 66 }); //assert Assert.IsNull(recordedView.ReferralUrl); }
public void CtorSetsSubtextContextAndSettings() { //arrange var settings = new global::Subtext.Framework.Configuration.Tracking {EnableWebStats = true}; ISubtextContext subtextContext = new Mock<ISubtextContext>().Object; //act var statisticsService = new StatisticsService(subtextContext, settings); //assert Assert.AreEqual(subtextContext, statisticsService.SubtextContext); Assert.AreEqual(settings, statisticsService.Settings); }
public void RecordAggViewWithStatsDisabledDoesNotTrackEntry() { //arrange var subtextContext = new Mock<ISubtextContext>(); bool wasCalled = false; subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny<EntryView>())).Callback(() => wasCalled = true); subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("GET"); var settings = new global::Subtext.Framework.Configuration.Tracking {EnableAggBugs = false}; var statisticsService = new StatisticsService(subtextContext.Object, settings); //act statisticsService.RecordAggregatorView(new EntryView {EntryId = 66}); //assert Assert.IsFalse(wasCalled); }
public void RecordWebViewDoesNotRecordHttpPost() { //arrange var subtextContext = new Mock<ISubtextContext>(); bool wasCalled = false; subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny<EntryView>())).Callback(() => wasCalled = true); subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("POST"); var settings = new global::Subtext.Framework.Configuration.Tracking {EnableWebStats = true}; var statisticsService = new StatisticsService(subtextContext.Object, settings); //act statisticsService.RecordWebView(new EntryView {EntryId = 66}); //assert Assert.IsFalse(wasCalled); }
public void RecordAggregatorViewRecordsEntry() { //arrange var subtextContext = new Mock<ISubtextContext>(); EntryView entryView = null; subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny<EntryView>())).Callback<EntryView>( e => entryView = e); subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("GET"); var settings = new global::Subtext.Framework.Configuration.Tracking {EnableAggBugs = true}; var statisticsService = new StatisticsService(subtextContext.Object, settings); //act statisticsService.RecordAggregatorView(new EntryView {EntryId = 66}); //assert Assert.AreEqual(66, entryView.EntryId); }
public void RecordWebViewWithBadReferrerIgnoresReferer() { //arrange var subtextContext = new Mock<ISubtextContext>(); EntryView recordedView = null; subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny<EntryView>())).Callback<EntryView>( view => recordedView = view); subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("GET"); subtextContext.Setup(c => c.HttpContext.Request.UrlReferrer).Throws(new UriFormatException()); var settings = new global::Subtext.Framework.Configuration.Tracking {EnableWebStats = true}; var statisticsService = new StatisticsService(subtextContext.Object, settings); //act statisticsService.RecordWebView(new EntryView {EntryId = 66}); //assert Assert.IsNull(recordedView.ReferralUrl); }
public void RecordWebViewRecordsReferrer() { //arrange var subtextContext = new Mock<ISubtextContext>(); EntryView recordedView = null; subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny<EntryView>())).Callback<EntryView>( view => recordedView = view); subtextContext.Setup(c => c.UrlHelper.BlogUrl()).Returns("/"); subtextContext.Setup(c => c.Blog).Returns(new Blog {Host = "haacked.com"}); subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("GET"); subtextContext.Setup(c => c.HttpContext.Request.UrlReferrer).Returns(new Uri("http://subtextproject.com/")); var settings = new global::Subtext.Framework.Configuration.Tracking {EnableWebStats = true}; var statisticsService = new StatisticsService(subtextContext.Object, settings); //act statisticsService.RecordWebView(new EntryView {EntryId = 66}); //assert Assert.AreEqual("http://subtextproject.com/", recordedView.ReferralUrl); }