public void CallCardinality_Moq(int times) { var b = new Mock<IMyB>(); new MyA(b.Object).CallDependencyNTimes(times); b.Verify(x => x.DoSomething(), Times.Exactly(times)); b.ResetCalls(); // Not Required }
public void DeleteTimeReport_SuccessTest(RegistriesDelete registries) { //Arrange List <Registry> weekRegistries = GetTestRegistries(); Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>(); registryRepoMock.Setup(r => r.GetById(1)).Returns(weekRegistries[0]); registryRepoMock.Setup(r => r.GetById(2)).Returns(weekRegistries[1]); registryRepoMock.Setup(r => r.GetById(3)).Returns(weekRegistries[2]); registryRepoMock.Setup(r => r.Delete(It.IsAny <object>())).Callback <object>(regId => weekRegistries.RemoveAll(reg => reg.RegistryId == (int)regId)); registryRepoMock.Setup(r => r.Save()); Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>(); mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object); var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock); //Act var result = controller.DeleteTimeReport(registries); //Assert Assert.IsType <ActionResult <HttpResponse> >(result); Assert.Equal((int)HttpStatusCode.OK, (result.Result as StatusCodeResult).StatusCode); Assert.Empty(weekRegistries); registryRepoMock.Verify(r => r.Delete(It.IsAny <object>()), Times.Exactly(3)); registryRepoMock.Verify(r => r.Save(), Times.Once); }
public async Task ThenItShouldSerializeRequests(DateTime changedSince) { await _client.GetProvidersChangedSinceAsync(changedSince, CancellationToken.None); _requestSerializer.Verify(serializer => serializer.Serialize(It.IsAny <ProviderQueryRequest>()), Times.Exactly(4)); _requestSerializer.Verify(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>( request => !string.IsNullOrEmpty(request.QueryId) && request.SelectionCriteria != null && request.SelectionCriteria.ProviderUpdatedSince == changedSince && request.SelectionCriteria.CriteriaCondition == CriteriaConditionEnum.OR && request.SelectionCriteria.ProviderStatus == ProviderStatusEnum.A && request.SelectionCriteria.ApprovedProvidersOnly == ApprovedProvidersOnlyEnum.No && request.SelectionCriteria.StakeholderId == _configuration.StakeholderId)), Times.Once); _requestSerializer.Verify(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>( request => !string.IsNullOrEmpty(request.QueryId) && request.SelectionCriteria != null && request.SelectionCriteria.ProviderUpdatedSince == changedSince && request.SelectionCriteria.CriteriaCondition == CriteriaConditionEnum.OR && request.SelectionCriteria.ProviderStatus == ProviderStatusEnum.V && request.SelectionCriteria.ApprovedProvidersOnly == ApprovedProvidersOnlyEnum.No && request.SelectionCriteria.StakeholderId == _configuration.StakeholderId)), Times.Once); _requestSerializer.Verify(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>( request => !string.IsNullOrEmpty(request.QueryId) && request.SelectionCriteria != null && request.SelectionCriteria.ProviderUpdatedSince == changedSince && request.SelectionCriteria.CriteriaCondition == CriteriaConditionEnum.OR && request.SelectionCriteria.ProviderStatus == ProviderStatusEnum.PD1 && request.SelectionCriteria.ApprovedProvidersOnly == ApprovedProvidersOnlyEnum.No && request.SelectionCriteria.StakeholderId == _configuration.StakeholderId)), Times.Once); _requestSerializer.Verify(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>( request => !string.IsNullOrEmpty(request.QueryId) && request.SelectionCriteria != null && request.SelectionCriteria.ProviderUpdatedSince == changedSince && request.SelectionCriteria.CriteriaCondition == CriteriaConditionEnum.OR && request.SelectionCriteria.ProviderStatus == ProviderStatusEnum.PD2 && request.SelectionCriteria.ApprovedProvidersOnly == ApprovedProvidersOnlyEnum.No && request.SelectionCriteria.StakeholderId == _configuration.StakeholderId)), Times.Once); }
public async Task ThenItShouldDeserializeResponses( string responseA, string responseV, string responsePd1, string responsePd2) { _requestSerializer .Setup(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>(req => req.SelectionCriteria.ProviderStatus == ProviderStatusEnum.A))) .Returns("<ProviderStatus>A</ProviderStatus>"); _httpClientMock .When(req => req.Content.ReadAsStringAsync().Result == "<ProviderStatus>A</ProviderStatus>") .Then(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(responseA) }); _requestSerializer .Setup(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>(req => req.SelectionCriteria.ProviderStatus == ProviderStatusEnum.V))) .Returns("<ProviderStatus>V</ProviderStatus>"); _httpClientMock .When(req => req.Content.ReadAsStringAsync().Result == "<ProviderStatus>V</ProviderStatus>") .Then(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(responseV) }); _requestSerializer .Setup(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>(req => req.SelectionCriteria.ProviderStatus == ProviderStatusEnum.PD1))) .Returns("<ProviderStatus>PD1</ProviderStatus>"); _httpClientMock .When(req => req.Content.ReadAsStringAsync().Result == "<ProviderStatus>PD1</ProviderStatus>") .Then(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(responsePd1) }); _requestSerializer .Setup(serializer => serializer.Serialize(It.Is <ProviderQueryRequest>(req => req.SelectionCriteria.ProviderStatus == ProviderStatusEnum.PD2))) .Returns("<ProviderStatus>PD2</ProviderStatus>"); _httpClientMock .When(req => req.Content.ReadAsStringAsync().Result == "<ProviderStatus>PD2</ProviderStatus>") .Then(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(responsePd2) }); await _client.GetProvidersChangedSinceAsync(new DateTime(), CancellationToken.None); _responseDeserializer.Verify(deserializer => deserializer.DeserializeResponse(It.IsAny <string>()), Times.Exactly(4)); _responseDeserializer.Verify(deserializer => deserializer.DeserializeResponse(responseA), Times.Once); _responseDeserializer.Verify(deserializer => deserializer.DeserializeResponse(responseV), Times.Once); _responseDeserializer.Verify(deserializer => deserializer.DeserializeResponse(responsePd1), Times.Once); _responseDeserializer.Verify(deserializer => deserializer.DeserializeResponse(responsePd2), Times.Once); }
public async Task Handle_WhenExecuteMutation_ShouldLogMutations() { var mutationRunLoggerManager = new Mock <IMutationRunLoggerManager>(); var mutationDocumentExecutor = new ExecuteMutationsCommandHandler(_mutationExecutor, mutationRunLoggerManager.Object); await mutationDocumentExecutor.Handle(new ExecuteMutationsCommand(_config, _mutationDocuments), CancellationToken.None); mutationRunLoggerManager.Verify(m => m.LogAfterMutation(It.IsAny <MutationDocument>(), It.IsAny <List <MutationDocumentResult> >(), It.IsAny <int>()), Times.Exactly(3)); mutationRunLoggerManager.Verify(m => m.LogBeforeMutation(It.IsAny <MutationDocument>()), Times.Exactly(3)); mutationRunLoggerManager.Verify(m => m.LogBeforeRun(It.IsAny <List <MutationDocument> >()), Times.Once); }
public void GetWeekTemplates_SuccessTest(DateTime todaysDate) { //Arrange List <Registry> weekRegistries = GetTestRegistries(); List <Mission> missions = GetTestMissions(); List <Task> tasks = GetTestTasks(); Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>(); registryRepoMock.SetupSequence(r => r.GetRegistriesByDate(It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <int>())) .Returns(weekRegistries) .Returns(new List <Registry>()) .Returns(new List <Registry>()) .Returns(new List <Registry>()) .Returns(new List <Registry>()); Mock <IMissionRepository> missionRepoMock = new Mock <IMissionRepository>(); missionRepoMock.Setup(r => r.GetById(1)).Returns(missions[0]); missionRepoMock.Setup(r => r.GetById(2)).Returns(missions[1]); Mock <ITaskRepository> taskRepoMock = new Mock <ITaskRepository>(); taskRepoMock.Setup(r => r.GetById(1)).Returns(tasks[0]); taskRepoMock.Setup(r => r.GetById(2)).Returns(tasks[1]); Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>(); mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object); mockUOF.Setup(uow => uow.MissionRepository).Returns(missionRepoMock.Object); mockUOF.Setup(uow => uow.TaskRepository).Returns(taskRepoMock.Object); var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock); //Act var result = controller.GetWeekTemplates(todaysDate); //Assert Assert.IsType <ActionResult <List <WeekTemplateViewModel> > >(result); registryRepoMock.Verify(r => r.GetRegistriesByDate(It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <int>()), Times.Exactly(5)); Assert.Single(result.Value); }