public async Task DomoService_GetDataAsync_CallsServicesAsync() { var domoRepository = new Mock <IDomoRepository>(); var domoDataGroupingService = new Mock <IDomoDataGroupingService>(); domoRepository.Setup(m => m.GetDataAsync(It.IsAny <Report>())) .ReturnsAsync(string.Empty); domoRepository.Setup(m => m.GetInfoAsync(It.IsAny <string>())) .ReturnsAsync(new DataSet()); domoDataGroupingService.Setup(m => m.Group(It.IsAny <List <Dictionary <string, string> > >(), It.IsAny <Report>(), It.IsAny <GenerationSettings>())) .Returns(new GroupedDomoData()); var domoService = new DomoService(domoRepository.Object, domoDataGroupingService.Object); await domoService.GetDataAsync(new Report() { Slug = "123-abc" }, new GenerationSettings() { MasterGroup = "master-group" }); domoRepository.Verify(m => m.GetDataAsync(It.Is <Report>(r => r.Slug == "123-abc"))); domoDataGroupingService.Verify(m => m.Group(It.IsAny <List <Dictionary <string, string> > >(), It.Is <Report>(r => r.Slug == "123-abc"), It.Is <GenerationSettings>(s => s.MasterGroup == "master-group"))); }
public async Task DomoService_GetDataHeadersAsync_OrdersHeaders() { var domoRepository = new Mock <IDomoRepository>(); var domoDataGroupingService = new Mock <IDomoDataGroupingService>(); domoRepository.Setup(m => m.GetInfoAsync(It.IsAny <string>())) .ReturnsAsync(new DataSet() { schema = new Schema() { columns = new List <Column>() { new Column() { name = "company-name" }, new Column() { name = "reference" }, new Column() { name = "date" } } } }); var domoService = new DomoService(domoRepository.Object, domoDataGroupingService.Object); var headers = await domoService.GetDataHeadersAsync(new Report() { DataSet = "abc-123" }); Assert.AreEqual(3, headers.Count); Assert.AreEqual("company-name", headers.Keys.ToList()[0]); Assert.AreEqual("reference", headers.Keys.ToList()[1]); Assert.AreEqual("date", headers.Keys.ToList()[2]); Assert.AreEqual(0, headers["company-name"]); Assert.AreEqual(1, headers["reference"]); Assert.AreEqual(2, headers["date"]); }