public async Task DeleteClient_ShouldDeleteClient_WhenClientExists()
        {
            // Arrange
            const int clientId = 1;

            using (var context = new AppDbContext(_dbContextOptions))
            {
                await context.Clients.AddAsync(new Client { ClientId = clientId });

                await context.SaveChangesAsync();
            }

            // Act
            using (var context = new AppDbContext(_dbContextOptions))
            {
                var service = new ClientsDataService(context);
                await service.DeleteClient(clientId);
            }

            // Assert
            using (var context = new AppDbContext(_dbContextOptions))
            {
                var result = await context.Clients.SingleOrDefaultAsync(o => o.ClientId == clientId);

                result.Should().BeNull();
            }
        }
        public void DeleteClient_ShouldThrowClientNotFoundException_WhenClientNotFound()
        {
            // Arrange
            using (var context = new AppDbContext(_dbContextOptions))
            {
                context.Clients.AddRange(new Client(), new Client());
                context.SaveChanges();
            }

            // Act
            using (var context = new AppDbContext(_dbContextOptions))
            {
                var         service = new ClientsDataService(context);
                Func <Task> action  = async() => await service.DeleteClient(0);

                // Assert
                action.Should().Throw <ClientNotFoundException>();
            }
        }