예제 #1
0
        public async Task GetAlbums()
        {
            // Arrange
            var               seedAlbums         = SeedAlbums();
            var               seedAlbumResources = this._mapper.Map <IEnumerable <Album>, IEnumerable <AlbumResource> >(seedAlbums);
            string            seed                = Guid.NewGuid().ToString();
            string            expectedUserName    = string.Format("test_{0}@gmail.com", seed);
            ControllerContext controllerContext   = Utilities.SetupCurrentUserForController(expectedUserName);
            var               mockAlbumRepository = new Mock <IAlbumRepository>();

            mockAlbumRepository.Setup(m => m.GetAlbums(It.IsAny <AlbumQuery>())).ReturnsAsync(seedAlbums);
            var  mockUserRepository = new Mock <IUserRepository>();
            User expectedUser       = new User()
            {
                Id       = seed,
                UserName = expectedUserName
            };

            mockUserRepository.Setup(m => m.GetOrAdd(It.IsAny <User>())).Returns(expectedUser);
            var mockUnitOfWork          = new Mock <IUnitOfWork>();
            AlbumsController controller = new AlbumsController(this._mapper, mockAlbumRepository.Object, mockUserRepository.Object, mockUnitOfWork.Object);

            controller.ControllerContext = controllerContext;
            var filterResource = new AlbumQueryResource();
            // Act
            var albums = await controller.GetAlbums(filterResource);

            // Assert
            Assert.True(seedAlbumResources.SequenceEqual(albums));
        }
예제 #2
0
        public void GetAlbums_ShouldReturnAllAlbums()
        {
            var context = new TestAppContext();

            context.Albums.Add(new Album {
                Title = "A Copland Celebration, Vol. I", Price = 8.99M
            });



            var controller = new AlbumsController(context);
            var result     = controller.GetAlbums();// as TestAlbumDbSet;


            Assert.IsNotNull(result);
            //Assert.IsTrue(result.ToString().StartsWith("A Copland Celebration"));
        }
예제 #3
0
        public async void GetAlbum200OKResponse()
        {   //Mocking Setup
            var mockUserRequest = new Mock <IAlbumRequestHandler>();

            mockUserRequest.Setup(req => req.GetAlbums()).ReturnsAsync(GetAlbums());

            var mockIMapper = new Mock <IMapper>();

            mockIMapper.Setup(op => op.Map <List <AlbumDto> >(It.IsAny <List <Album> >())).Returns(GetAlbumsDto());

            //Act
            var controller = new AlbumsController(mockUserRequest.Object, mockIMapper.Object);
            var albums     = await controller.GetAlbums();

            //Assert
            Assert.IsType <OkObjectResult>(albums.Result);
        }
예제 #4
0
        public async void GetAlbumsReturnAllItems()
        {   //Mocking Setup
            var mockUserRequest = new Mock <IAlbumRequestHandler>();

            mockUserRequest.Setup(req => req.GetAlbums()).ReturnsAsync(GetAlbums());

            var mockIMapper = new Mock <IMapper>();

            mockIMapper.Setup(op => op.Map <List <AlbumDto> >(It.IsAny <List <Album> >())).Returns(GetAlbumsDto());

            //Act
            var controller = new AlbumsController(mockUserRequest.Object, mockIMapper.Object);
            var albums     = await controller.GetAlbums();

            var okResult = albums.Result as OkObjectResult;
            var items    = Assert.IsType <List <AlbumDto> >(okResult.Value);

            //Assert
            Assert.Equal(4, items.Count);
        }
예제 #5
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);

                await UsersController.GetUsers();

                UsersController.SaveUsersToDB();
                _logger.LogInformation("Saved Users");

                await PostsController.GetPosts();

                PostsController.SavePostsToDB();
                _logger.LogInformation("Saved Posts");

                await CommentsController.GetComments();

                CommentsController.SaveCommentsToDB();
                _logger.LogInformation("Saved Comments");

                await AlbumsController.GetAlbums();

                AlbumsController.SaveAlbumsToDB();
                _logger.LogInformation("Saved Albums");

                await PhotosController.GetPhotos();

                PhotosController.SavePhotosToDB();
                _logger.LogInformation("Saving Photos");

                await TodosController.GetTodos();

                TodosController.SaveTodosToDB();
                _logger.LogInformation("Saving Todos");

                await Task.Delay(DelayInSeconds * 1000, stoppingToken);
            }
        }