public async Task Handle_ReturnsEmptyAnimalDTOCollection()
        {
            // Arrange
            var query = new GetAnimalsByUserIdQuery
            {
                UserId = "QWERTY1234567890_Test"
            };

            // Act
            var handler = new GetAnimalsByUserIdQuery.GetAnimalsByUserIdQueryHandler(Context, Mapper);

            var result = await handler.Handle(query, CancellationToken.None);

            // Assert
            result.ShouldBeEmpty();
        }
Exemple #2
0
        /// <summary>
        /// Страница для отображения всех животных пользователя.
        /// </summary>
        public async Task <IActionResult> Index()
        {
            var userId = await _identityService.GetUserIdByNameAsync(User.Identity.Name);

            var animalQuery = new GetAnimalsByUserIdQuery
            {
                UserId = userId
            };

            var userAnimals = (await _mediator.Send(animalQuery)).ToList();

            _logger.LogInformation($"{userAnimals.Count} animals showed for user {User.Identity.Name}.");

            // Формирование ViewModels для представления
            var animalViewModels = new List <AnimalViewModel>();

            userAnimals.ForEach(a =>
            {
                var features = a.Features;

                if (features.Length > 200)
                {
                    features = features.Substring(0, 200) + "...";
                }

                var animal = new AnimalViewModel
                {
                    Id        = a.Id,
                    UserId    = a.UserId,
                    Kind      = a.Kind,
                    Breed     = a.Breed,
                    Gender    = a.Gender.ToString(),
                    Passport  = a.Passport,
                    BirthDate = a.BirthDate,
                    Nickname  = a.Nickname,
                    Features  = features
                };

                animalViewModels.Add(animal);
            });

            return(View(animalViewModels));
        }