Example #1
0
        public async Task HandleAsync_FalhaValidationProxy()
        {
            var mockUnitOfWork         = DemarcacaoUnitOfWorkMock.GetMock();
            var mockEmpreendimentoRepo = EmpreendimentoRepositoryMock.GetMock();

            mockUnitOfWork.Setup(o => o.SaveChangesAsync(It.IsAny <CancellationToken>()))
            .ReturnsAsync(1);

            mockEmpreendimentoRepo.Setup(o => o.AddAsync(It.IsAny <Empreendimento>(), It.IsAny <CancellationToken>()));

            IList <ValidationFailure> validationFailures = new List <ValidationFailure>();

            var strategy = (IStrategy <CadastraEmpreendimentoRequest, DefaultResponse>)
                           new ProxyFake().CreateProxyValidatorFake <CadastraEmpreendimentoRequest, DefaultResponse>(
                new CadastraEmpreendimentoStrategy(AutomapperMock.GetProfilesMapper(),
                                                   mockUnitOfWork.Object,
                                                   mockEmpreendimentoRepo.Object), validationFailures);

            var request = new EmpreendimentoRequestFake().GetCadastraEmpreendimentoRequest_Valido();

            request.Descricao = "";
            var response = await strategy.HandleAsync(request, CancellationToken.None);

            Assert.False(response.IsNotDefault);
            Assert.Contains(validationFailures, o => o.ErrorMessage == "Os seguintes campos obrigatórios não foram informados: Descricao");
        }
Example #2
0
        public async Task HandleAsync_Sucesso()
        {
            var mockUnitOfWork         = DemarcacaoUnitOfWorkMock.GetMock();
            var mockEmpreendimentoRepo = EmpreendimentoRepositoryMock.GetMock();

            mockUnitOfWork.Setup(o => o.SaveChangesAsync(It.IsAny <CancellationToken>()))
            .ReturnsAsync(1);

            mockEmpreendimentoRepo.Setup(o => o.Any(It.IsAny <Expression <Func <Empreendimento, bool> > >()))
            .Returns(true);

            mockEmpreendimentoRepo.Setup(o => o.Update(It.IsAny <Empreendimento>()));

            var strategy = new AtualizaEmpreendimentoStrategy(AutomapperMock.GetProfilesMapper(),
                                                              mockUnitOfWork.Object,
                                                              mockEmpreendimentoRepo.Object);

            var request = new EmpreendimentoRequestFake().GetAtualizaEmpreendimentoRequest_Valido();

            var response = await strategy.HandleAsync(request,
                                                      CancellationToken.None);

            Assert.IsType <DefaultResponse>(response);
            Assert.True(response.IsNotDefault);
        }
        public async Task HandleAsync_SucessoAreaCalculada()
        {
            var mockTerrenoRepo    = TerrenoRepositoryMock.GetMock();
            var mockCoordenadaRepo = CoordenadaRepositoryMock.GetMock();

            var terreno = new TerrenoRequestFake().GetTerrenoCom3Coordenadas();

            mockTerrenoRepo.Setup(o => o.GetAsync(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(terreno);

            var strategy = new RetornaTerrenoStrategy(AutomapperMock.GetProfilesMapper(),
                                                      mockTerrenoRepo.Object,
                                                      mockCoordenadaRepo.Object);

            mockCoordenadaRepo.Setup(o => o.Find(It.IsAny <Expression <Func <Coordenada, bool> > >(), It.IsAny <bool>()))
            .Returns(terreno.Coordenadas.AsQueryable());

            var request = new TerrenoRequestFake().GetRetornaTerrenoQuery_Valido();

            var response = await strategy.HandleAsync(request,
                                                      CancellationToken.None);

            Assert.NotNull(response);
            Assert.Equal(3, response.Coordenadas.Count());
            Assert.True(response.SomaDistanciaPontos.valor > 0);
            Assert.True(response.AreaTotal.valor > 0);
        }
        public async Task HandleAsync_FalhaValidationProxy()
        {
            var mockEmpreendimentoRepo = EmpreendimentoRepositoryMock.GetMock();

            IList <ValidationFailure> validationFailures = new List <ValidationFailure>();

            var strategy = (IStrategy <RetornaEmpreendimentoQuery, RetornarEmpreendimentoQueryResponse>)
                           new ProxyFake().CreateProxyValidatorFake <RetornaEmpreendimentoQuery, RetornarEmpreendimentoQueryResponse>(
                new RetornaEmpreendimentoStrategy(AutomapperMock.GetProfilesMapper(),
                                                  mockEmpreendimentoRepo.Object), validationFailures);

            var request = new EmpreendimentoRequestFake().GetRetornaEmpreendimentoQuery_Invalido();
            await strategy.HandleAsync(request, CancellationToken.None);

            Assert.Contains(validationFailures, o => o.ErrorMessage == "O campo \"idEmpreendimento\" não foi informado.");
        }
        public async Task HandleAsync_SucessoVazio()
        {
            var mockEmpreendimentoRepo = EmpreendimentoRepositoryMock.GetMock();

            mockEmpreendimentoRepo.Setup(o => o.GetAsync(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(default(Empreendimento));

            var strategy = new RetornaEmpreendimentoStrategy(AutomapperMock.GetProfilesMapper(),
                                                             mockEmpreendimentoRepo.Object);

            var query = new EmpreendimentoRequestFake().GetRetornaEmpreendimentoQuery_Valido();

            var response = await strategy.HandleAsync(query, CancellationToken.None);

            Assert.Null(response);
        }
        public async Task HandleAsync_Sucesso()
        {
            var mockUnitOfWork  = DemarcacaoUnitOfWorkMock.GetMock();
            var mockTerrenoRepo = TerrenoRepositoryMock.GetMock();

            mockUnitOfWork.Setup(o => o.SaveChangesAsync(It.IsAny <CancellationToken>()))
            .ReturnsAsync(1);

            mockTerrenoRepo.Setup(o => o.AddAsync(It.IsAny <Terreno>(), It.IsAny <CancellationToken>()));

            var strategy = new CadastraTerrenoStrategy(AutomapperMock.GetProfilesMapper(),
                                                       mockTerrenoRepo.Object,
                                                       mockUnitOfWork.Object);

            var request = new TerrenoRequestFake().GetTerrenoRequest_Valido();

            var response = await strategy.HandleAsync(request,
                                                      CancellationToken.None);

            Assert.IsType <CadastraTerrenoResponse>(response);
            Assert.NotNull(response);
        }