Example #1
0
        public void GetUrlForObservations_OnFlickrServiceError_ReturnsDefaultUrl()
        {
            // Arrange
            var mockCache         = new Mock <IMemoryCache>();
            var mockLogger        = new Mock <ILogger <BirdThumbnailPhotoService> >();
            var mockFlickrService = new Mock <IFlickrService>();

            mockFlickrService.Setup(serve => serve.GetThumbnailUrl(It.IsAny <string>()))
            .Throws(new InvalidOperationException());

            var service = new BirdThumbnailPhotoService(mockCache.Object, mockLogger.Object, mockFlickrService.Object);

            const string expected     = "https://farm1.staticflickr.com/908/28167626118_f9ed3a67cf_q.png";
            var          observations = new List <ObservationFeedDto> {
                new ObservationFeedDto()
                {
                }
            };

            // Act
            var result = service.GetThumbnailUrl(observations);

            // Assert
            Assert.IsAssignableFrom <IEnumerable <ObservationFeedDto> >(result);
            Assert.Equal(expected, result.FirstOrDefault().ThumbnailUrl);
        }
Example #2
0
        public void GetUrlForObservations_OnFlickrServiceSuccess_ReturnsUrl()
        {
            // Arrange
            const string expected          = "https://testUrl.png";
            var          concreteCache     = new MemoryCache(new MemoryCacheOptions());
            var          mockLogger        = new Mock <ILogger <BirdThumbnailPhotoService> >();
            var          mockFlickrService = new Mock <IFlickrService>();

            mockFlickrService.Setup(serve => serve.GetThumbnailUrl(It.IsAny <string>()))
            .Returns(expected);

            var service = new BirdThumbnailPhotoService(concreteCache, mockLogger.Object, mockFlickrService.Object);

            var observations = new List <ObservationFeedDto> {
                new ObservationFeedDto()
                {
                }
            };

            // Act
            var result = service.GetThumbnailUrl(observations);

            // Assert
            Assert.IsAssignableFrom <IEnumerable <ObservationFeedDto> >(result);
            Assert.Equal(expected, result.FirstOrDefault().ThumbnailUrl);
        }
Example #3
0
        public void GetUrlForObservations_NullArgument_ReturnsNullReferenceException()
        {
            // Arrange
            var mockCache         = new Mock <IMemoryCache>();
            var mockFlickrService = new Mock <IFlickrService>();
            var mockLogger        = new Mock <ILogger <BirdThumbnailPhotoService> >();

            var service = new BirdThumbnailPhotoService(mockCache.Object, mockLogger.Object, mockFlickrService.Object);

            // Act
            var ex = Assert.Throws <ArgumentNullException>(() =>
                                                           service.GetThumbnailUrl(null));

            // Assert
            Assert.Equal("The observations collection is null (Parameter 'observations')", ex.Message);
        }