public async Task WhenSendingAMessage_ThenItCanBeRetrievedAgain()
        {
            var todo     = ToDo.Create("le nom", "hoi", 34, DateTime.UtcNow.AddDays(1), "*****@*****.**");
            var received = false;

            var configuration  = _queueTestContext.GetConfiguration();
            var receiverClient = new QueueClient(configuration.NamespaceConnectionString, configuration.CompletedTodosQueueName);

            receiverClient.RegisterMessageHandler((message, cancelationToken) => {
                var bytes  = message.Body;
                var json   = Encoding.UTF8.GetString(bytes);
                var actual = JsonConvert.DeserializeObject <ToDo>(json);
                if (actual.id == todo.id)
                {
                    received = true;
                }

                return(Task.CompletedTask);
            }, new MessageHandlerOptions((_) => { return(Task.CompletedTask); })
            {
                MaxConcurrentCalls = 1, AutoComplete = true
            });

            await _subject.SendCompletedTodoAsync(todo);

            do
            {
                await Task.Delay(1000);
            } while (!received);
        }