示例#1
0
        public void Setup()
        {
            anuncioServiceMock = new Mock <IAnuncioService>();

            anunciosController = new AnunciosController(anuncioServiceMock.Object);
            infosController    = new InfosController();
        }
        public void DownloadImagemAsync_ComIdAnuncioZerado_RetornaNotFound()
        {
            //act
            var anuncio = new AnunciosController(logger.Object,
                                                 anuncioServiceMock.Object);

            var imagemGetResponse =
                anuncio.DownloadImagemAsync(0);

            //assert
            imagemGetResponse.Should().BeOfType <NotFoundResult>();
        }
        public void DownloadImagemAsync_ComIdAnuncioValido_RetornaNotFound()
        {
            //arrange
            anuncioServiceMock
            .Setup(f => f.DownloadImagemAsync(It.IsAny <int>()))
            .Returns(new MemoryStream(new byte[] { 0 }));

            //act
            var anuncio = new AnunciosController(logger.Object,
                                                 this.anuncioServiceMock.Object);

            var imagemGetResponse =
                anuncio.DownloadImagemAsync(1);

            //assert
            imagemGetResponse.Should().BeOfType <FileStreamResult>();
        }
        public void DownloadImagemAsync_ComIdAnuncioInvalido_RetornaNotFound()
        {
            //arrange

            var anuncioServiceMock = new Mock <IAnunciosService>();

            anuncioServiceMock
            .Setup(f => f.DownloadImagemAsync(It.IsAny <int>()))
            .Returns((Stream)null);

            //act
            var anuncio = new AnunciosController(logger.Object,
                                                 anuncioServiceMock.Object);

            var imagemGetResponse =
                anuncio.DownloadImagemAsync(9999);

            //assert
            imagemGetResponse.Should().BeOfType <NotFoundResult>();
        }
        public async Task ObterAnunciosPorCoordenadaDeUsuarioAsync_ComCoordenadasDoUsuarioInexistentes_RetornaAnuncios()
        {
            //arrange
            //ObterPorCoordenadaAsync
            anuncioServiceMock.Setup(s => s.ObterPorCoordenadaAsync(It.IsAny <double>(), It.IsAny <double>()))
            .ReturnsAsync((IEnumerable <Anuncio>)null);

            //act
            var anuncio = new AnunciosController(logger.Object,
                                                 anuncioServiceMock.Object);

            var coordenadas = new CoordenadasUsuarioGet()
            {
                Latitude  = -99999,
                Longitude = -99999
            };

            var anunciosGetResponse =
                await anuncio.ObterAnunciosPorCoordenadaDeUsuarioAsync(coordenadas);

            //assert
            anunciosGetResponse.Should().BeOfType <NoContentResult>();
        }
        public async Task ObterAnunciosPorCoordenadaDeUsuarioAsync_SemCoordenadasDoUsuarioComDadosVazios_RetornaAnuncios()
        {
            //arrange
            var logger = new Mock <ILoggerFactory>();

            //act
            var anuncio = new AnunciosController(logger.Object,
                                                 anuncioServiceMock.Object);

            var coordenadas = new CoordenadasUsuarioGet()
            {
                Latitude = 0, Longitude = 0
            };

            var anunciosGetResponse =
                await anuncio.ObterAnunciosPorCoordenadaDeUsuarioAsync(coordenadas);

            //assert
            var result = anunciosGetResponse as NotFoundObjectResult;

            result.Should().BeOfType <NotFoundObjectResult>();
            result.Value.Should().Be("Latitude e longitude inexistentes.");
        }