public async Task ReportView_AllInformation() { var sink = new PiwikSink(defaultOptions); Api.PiwikViewInfo calledViewInfo = null; mockApi .Setup(api => api.ReportViewAsync(It.IsAny <Api.PiwikViewInfo>())) .Returns(Task.FromResult(true)) .Callback <Api.PiwikViewInfo>(vi => calledViewInfo = vi); var viewInfo = new Core.ViewInfo() { AbsolutePath = "/some/url", Time = TimeSpan.FromSeconds(5), Title = "view title" }; await telemetryProvider.Activity.ReportViewAsync(viewInfo); Assert.IsNotNull(calledViewInfo); Assert.AreEqual(new Uri(sink.BaseAppUrl, "some/url").ToString(), calledViewInfo.Url); Assert.AreEqual("view title", calledViewInfo.ViewName); Assert.IsNull(calledViewInfo.ReferrerUrl); Assert.AreEqual(TimeSpan.FromSeconds(5), calledViewInfo.ViewTime); Assert.AreSame(sink.Session, calledViewInfo.Session); Assert.AreSame(sink.EnvironmentInfo, calledViewInfo.EnvironmentInfo); }
public async Task ReportView_MinimalInformation() { var sink = new PiwikSink(defaultOptions); Api.PiwikViewInfo calledViewInfo = null; mockApi .Setup(api => api.ReportViewAsync(It.IsAny <Api.PiwikViewInfo>())) .Returns(Task.FromResult(true)) .Callback <Api.PiwikViewInfo>(vi => calledViewInfo = vi); await telemetryProvider.Activity.ReportViewAsync(new Core.ViewInfo()); Assert.IsNotNull(calledViewInfo); Assert.AreEqual(sink.BaseAppUrl.ToString(), calledViewInfo.Url); Assert.IsNull(calledViewInfo.ViewName); Assert.IsNull(calledViewInfo.ReferrerUrl); Assert.IsFalse(calledViewInfo.ViewTime.HasValue); Assert.AreSame(sink.Session, calledViewInfo.Session); Assert.AreSame(sink.EnvironmentInfo, calledViewInfo.EnvironmentInfo); }