public PhotoAlbumServiceTests()
        {
            _mockAlbumRepository = Substitute.For <IAlbumRepository>();
            _mockPhotoRepository = Substitute.For <IPhotoRepository>();

            _subject = new PhotoAlbumService(_mockAlbumRepository, _mockPhotoRepository);
        }
        public void GetAllUsedAlbums_ShouldReturnCorrectNumber()
        {
            var user    = UserCreator.Create("test");
            var album1  = AlbumCreator.Create(false, user);
            var album2  = AlbumCreator.Create(false, user);
            var album3  = AlbumCreator.Create(false, user);
            var photo   = PhotoCreator.Create(user, false, false);
            var mapping = PhotoAlbumCreator.Create(photo, album1);

            var albumsRepo = DeletableEntityRepositoryMock.Get <Album>(new List <Album>()
            {
                album1, album2, album3
            });
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>()
            {
                mapping
            });

            var service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);
            var result  = service.GetAllUsedAlbums <AlbumViewModel>(photo.Id, user.Id);

            Assert.Single(result);
        }
Esempio n. 3
0
        public void CanGetPhotos()
        {
            // arrange
            var expected = new List <PhotoDomainModel> {
                new PhotoDomainModel()
                {
                    Id = 1, AlbumId = 2, Title = "Title", ThumbnailUrl = "TURL", Url = "URL"
                }
            };
            var source = JsonConvert.SerializeObject(expected);

            var delegatingHandlerStub = new DelegatingHandlerStub(new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(source, Encoding.UTF8, "application/json")
            });
            var httpClient = new HttpClient(delegatingHandlerStub)
            {
                BaseAddress = new Uri("http://foo/")
            };
            var service = new PhotoAlbumService(httpClient);

            // act
            var actual = service.GetPhotos().Result;

            // assert
            actual.Should().BeEquivalentTo(expected);
        }
        public void AddPhoto_ShouldThrowErrorWhenPhotoAlreadyInTheAlbum()
        {
            var user    = UserCreator.Create("test");
            var photo   = PhotoCreator.Create(user, false, false);
            var album   = AlbumCreator.Create(false, user);
            var mapping = PhotoAlbumCreator.Create(photo, album);
            var list    = new List <PhotoAlbum>()
            {
                mapping
            };

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(list);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(new List <Album>()
            {
                album
            });
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });

            var       service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);
            Exception ex      = Assert.Throws <AggregateException>(() => service.AddPhotoAsync(album.Id, photo.Id, user.Id).Wait());

            Assert.Contains("Photo is already added to the album", ex.Message);
        }
        public void GetAllByPhotoId_ShouldReturnCorrectNumber()
        {
            var user     = UserCreator.Create("test");
            var album1   = AlbumCreator.Create(false, user);
            var album2   = AlbumCreator.Create(false, user);
            var album3   = AlbumCreator.Create(false, user);
            var photo    = PhotoCreator.Create(user, false, false);
            var mapping1 = PhotoAlbumCreator.Create(photo, album1);
            var mapping2 = PhotoAlbumCreator.Create(photo, album2);
            var mapping3 = PhotoAlbumCreator.Create(photo, album3);

            var albumsRepo = DeletableEntityRepositoryMock.Get <Album>(new List <Album>()
            {
                album1, album2, album3
            });
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });
            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(new List <PhotoAlbum>()
            {
                mapping1, mapping2, mapping3
            });

            var service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);
            var result  = service.GetAllByPhotoId <PhotoAlbumViewModel>(photo.Id);

            Assert.Equal(3, result.Count);
        }
 public WebApiPhotoAlbumController(AccountService accountBaseFunction, PhotoAlbumService photoAlbumService, PhotoService photoService, UserManager <IdentityUser> user)
 {
     this.accountBaseFunction = accountBaseFunction;
     this.photoAlbumService   = photoAlbumService;
     this.photoService        = photoService;
     this.user = user;
 }
        public void RemovPhoto_ShouldRemoveSuccessfully()
        {
            var user    = UserCreator.Create("test");
            var photo   = PhotoCreator.Create(user, false, false);
            var album   = AlbumCreator.Create(false, user);
            var mapping = PhotoAlbumCreator.Create(photo, album);
            var list    = new List <PhotoAlbum>()
            {
                mapping
            };

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(list);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(new List <Album>()
            {
                album
            });
            var photosRepo = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });

            var service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);

            service.RemovePhotoAsync(album.Id, photo.Id, user.Id).Wait();

            Assert.Empty(list);
        }
Esempio n. 8
0
        public void DisplayAlbumIdAndTitle(int albumId)
        {
            PhotoAlbumService paService   = new PhotoAlbumService();
            List <PhotoAlbum> photoAlbums = paService.GetPhotoAlbum(photoAlbumRequestURI, albumId);

            DisplayAlbumIdAndTitle(photoAlbums);
        }
 public WebApiPhotoController(AccountService accountBaseFunction, PhotoService photoService, PhotoAlbumService photoAlbumService, UserManager <IdentityUser> user, IWebHostEnvironment _appEnvironment)
 {
     this.accountBaseFunction = accountBaseFunction;
     this.photoService        = photoService;
     this.photoAlbumService   = photoAlbumService;
     this.user            = user;
     this._appEnvironment = _appEnvironment;
 }
Esempio n. 10
0
 public PhotoAlbumsController()
 {
     //Simulando uma injeção de dependência
     _photoAlbumService = new PhotoAlbumService(
         new PhotoAlbumEntityFrameworkRepository(
             new SocialNetworkContext()),
         new PhotoAzureBlobRepository());
 }
        public void Setup()
        {
            IGenericSerivce    GenericService    = new GenericService();
            IPhotoAlbumService PhotoAlbumService = new PhotoAlbumService(GenericService);

            PhotoAlbumController = new PhotoAlbumController(PhotoAlbumService);

            MockPhotoAlbumService = new Mock <IPhotoAlbumService>();
        }
        //[TestCase(150)]
        //[TestCase(100)]
        public void GetPhotoAlbumsAndCompareWithKnowCount(int albumId)
        {
            PhotoAlbumService paComp = new PhotoAlbumService();
            string            photoAlbumRequestURI = GetAlbumRequestURI();
            List <PhotoAlbum> photoAlbums          = paComp.GetPhotoAlbum(photoAlbumRequestURI, albumId);
            int resultPhotoAlbumCount   = photoAlbums.Count;
            int expectedPhotoAlbumCount = 50;

            Assert.AreEqual(expectedPhotoAlbumCount, resultPhotoAlbumCount);
        }
Esempio n. 13
0
        public UserHomeController()
        {
            userService        = new UserService();
            categoryService    = new PhotoAlbumService();
            postService        = new PhotoPostService();
            sysCategoryService = new PhotoSysCategoryService();
            likeService        = new PhotoLikeService();

            HideLayout(typeof(wojilu.Web.Controller.Photo.LayoutController));
        }
Esempio n. 14
0
        public MyController()
        {
            base.HideLayout(typeof(Photo.LayoutController));

            friendService = new FriendService();

            postService  = new PhotoPostService();
            albumService = new PhotoAlbumService();

            categoryService = new PhotoSysCategoryService();
        }
Esempio n. 15
0
        public void GetPhotosByAlbumId_ValidId_ReturnsExpectedCount()
        {
            var albumId       = 1;
            var expectedCount = testPhotos.Count;

            mockPhotoService.GetPhotosByAlbumId(Arg.Any <int>()).Returns(testPhotos);

            var testService = new PhotoAlbumService(mockPhotoService);
            var photoResult = testService.GetPhotosByAlbumId(albumId);

            Assert.Equal(expectedCount, photoResult.Photos.Count);
        }
Esempio n. 16
0
        public void GetPhotosByAlbumId_InvalidId_ThrowsException()
        {
            var          albumId           = -1;
            const string EXCEPTION_MESSAGE = "Invalid Album Id.";

            mockPhotoService.GetPhotosByAlbumId(Arg.Any <int>()).Returns(testPhotos);

            var testService = new PhotoAlbumService(mockPhotoService);
            var ex          = Assert.Throws <ArgumentException>(() => testService.GetPhotosByAlbumId(albumId));

            Assert.NotNull(ex);
            Assert.Contains(EXCEPTION_MESSAGE, ex.Message);
        }
        public void GetAlbums_ShouldReturnCorrectNumber()
        {
            ////Arrange
            var jsonStringPhotos = "[\n {\n  \"albumId\": 1,\n    \"id\": 1,\n    \"title\": \"accusamus beatae ad facilis cum similique qui sunt\",\n    \"url\": \"https://via.placeholder.com/600/92c952\",\n    \"thumbnailUrl\": \"https://via.placeholder.com/150/92c952\"\n  } \n]";
            var jsonStringAlbums = "[\n {\n  \"userId\": 1,\n    \"id\": 1,\n    \"title\": \"quidem molestiae enim\"\n  } \n]";

            //Act
            var mockPhotoService = new PhotoAlbumService(jsonStringPhotos, jsonStringAlbums);

            var result = mockPhotoService.GetAlbums();

            //Assert
            Assert.AreEqual(result.Count, 1, "One row is returned");
        }
Esempio n. 18
0
        public async Task GetPhotoAlbumUnitTest()
        {
            List <Photo> fakePhotos = new List <Photo>();
            List <Album> fakeAlbums = new List <Album>();

            MockGenericSerivce.Setup(m => m.GetResponse <List <Photo> >(Settings.Settings.PhotoAPI)).Returns(Task.FromResult(fakePhotos));;
            MockGenericSerivce.Setup(m => m.GetResponse <List <Album> >(Settings.Settings.AlbumAPI)).Returns(Task.FromResult(fakeAlbums));;

            PhotoAlbumService = new PhotoAlbumService(MockGenericSerivce.Object);
            var photoAlbums = await PhotoAlbumService.GetPhotoAlbum();

            MockGenericSerivce.Verify(m => m.GetResponse <List <Photo> >(Settings.Settings.PhotoAPI), Times.Once);
            MockGenericSerivce.Verify(m => m.GetResponse <List <Album> >(Settings.Settings.AlbumAPI), Times.Once);
        }
Esempio n. 19
0
        static void Main(string[] args)
        {
            IConfiguration configuration = new ConfigurationBuilder()
                                           .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                                           .Build();
            var validationService     = new ValidationService();
            var jsonSerializerOptions = new JsonSerializerOptions {
                PropertyNameCaseInsensitive = true
            };

            using var httpClientWrapper = new HttpGetService(configuration["PhotosUrl"]);
            var photoService      = new PhotoService(httpClientWrapper, jsonSerializerOptions);
            var photoAlbumService = new PhotoAlbumService(photoService);
            var photoAppRunner    = new PhotoAppRunner(Console.Out, validationService, photoAlbumService);

            photoAppRunner.Run(args);
        }
        public void AddPhoto_ShouldThrowErrorWhenAlbumDoesNotExist()
        {
            var user  = UserCreator.Create("test");
            var photo = PhotoCreator.Create(user, false, false);
            var album = AlbumCreator.Create(false, user);
            var list  = new List <PhotoAlbum>();

            var photoAlbumsRepo = EfRepositoryMock.Get <PhotoAlbum>(list);
            var albumsRepo      = DeletableEntityRepositoryMock.Get <Album>(new List <Album>());
            var photosRepo      = DeletableEntityRepositoryMock.Get <Photo>(new List <Photo>()
            {
                photo
            });

            var       service = new PhotoAlbumService(photosRepo.Object, albumsRepo.Object, photoAlbumsRepo.Object);
            Exception ex      = Assert.Throws <AggregateException>(() => service.AddPhotoAsync(album.Id, photo.Id, user.Id).Wait());

            Assert.Contains("Album does not exist", ex.Message);
        }
Esempio n. 21
0
 public AlbumController()
 {
     base.HideLayout(typeof(Photo.LayoutController));
     albumService = new PhotoAlbumService();
     postService  = new PhotoPostService();
 }
Esempio n. 22
0
        public LayoutController()
        {
            albumService = new PhotoAlbumService();

            commentService = new CommentService <PhotoPostComment>();
        }
 public PhotoAlbumServiceShould()
 {
     apiClientMock     = new Mock <IJsonPlaceHolderApiClient>();
     photoAlbumService = new PhotoAlbumService(apiClientMock.Object);
 }
 public void Init()
 {
     _service = new PhotoAlbumService(_photoAlbumApiService, _createPhotoAlbumService);
 }
Esempio n. 25
0
 public void Setup()
 {
     MockGenericSerivce = new Mock <IGenericSerivce>();
     GenericSerivce     = new GenericService();
     PhotoAlbumService  = new PhotoAlbumService(new GenericService());
 }
 public PhotoAlbumController(PhotoAlbumService photoAlbumService)
 {
     _service = photoAlbumService;
 }
Esempio n. 27
0
 public LayoutController()
 {
     albumService   = new PhotoAlbumService();
     postService    = new PhotoPostService();
     commentService = new OpenCommentService();
 }