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"))); }