Exemplo n.º 1
0
 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
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 6
0
        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);
        }