public async Task <IEnumerable <ClientDTO> > GetAsync()
        {
            this.Logger.LogDebug($"{nameof(GetAsync)} called");
            var res = await ClientGetService.GetAsync();

            return(Mapper.Map <IEnumerable <ClientDTO> >(res));
        }
        public async Task ValidateAsync_ClientExists_DoesNothing()
        {
            // Arrange
            var clientContainer = new Mock <IClientContainer>();

            var client           = new Client(1);
            var clientRepository = new Mock <IClientRepository>();

            clientRepository.Setup(x => x.GetByAsync(clientContainer.Object)).ReturnsAsync(client);

            var clientGetService = new ClientGetService(clientRepository.Object);

            // Act
            var action = new Func <Task>(() => clientGetService.ValidateAsync(clientContainer.Object));

            // Assert
            await action.Should().NotThrowAsync <Exception>();
        }
        public async Task ValidateAsync_ClientExists_ThrowsError()
        {
            // Arrange
            var fixture = new Fixture();
            var id      = fixture.Create <int>();

            var clientContainer = new Mock <IClientContainer>();

            clientContainer.Setup(x => x.ClientId).Returns(id);

            var clientRep = new Mock <IClientRepository>();

            clientRep.Setup(x => x.GetByAsync(clientContainer.Object)).ReturnsAsync((Client)null);

            var clientGetService = new ClientGetService(clientRep.Object);

            // Act
            var action = new Func <Task>(() => clientGetService.ValidateAsync(clientContainer.Object));

            // Assert
            await action.Should().ThrowAsync <InvalidOperationException>($"Department not found by id {id}");
        }