public async Task Put_EndpointReturnSuccessAndCorrectMessage()
        {
            var stringContent  = new StringContent(JsonConvert.SerializeObject(testMessage), Encoding.UTF8, "application/json");
            var createResponse = await _client.PostAsync("/api/messages", stringContent);

            var createBody = await createResponse.Content.ReadAsStringAsync();

            var createdMessage = JsonConvert.DeserializeObject <Hub.API.ViewModels.MessageViewModel>(createBody);
            var id             = createdMessage.Id;

            var newTestMessage = MessagesTestData.CreateMessage("new title", "new description", 10, true, false);

            newTestMessage.Id = Guid.Empty;

            var content  = new StringContent(JsonConvert.SerializeObject(newTestMessage), Encoding.UTF8, "application/json");
            var response = await _client.PutAsync($"/api/messages/{id}", content);

            response.EnsureSuccessStatusCode();
            var body = await response.Content.ReadAsStringAsync();

            var messageResult = JsonConvert.DeserializeObject <Hub.API.ViewModels.MessageViewModel>(body);

            messageResult.Title.Should().Be(newTestMessage.Title);
            messageResult.Description.Should().Be(newTestMessage.Description);
            messageResult.SortOrder.Should().Be(newTestMessage.SortOrder);
            messageResult.Id.Should().Be(id);
        }
        public async Task List_EndpointReturnSuccessAndCorrectMessages()
        {
            for (var i = 0; i < 5; i++)
            {
                var newMessage    = MessagesTestData.CreateMessage("Test message title", "Test message description", 0);
                var stringContent = new StringContent(JsonConvert.SerializeObject(newMessage), Encoding.UTF8, "application/json");

                var createResponse = await _client.PostAsync("/api/messages", stringContent);

                createResponse.EnsureSuccessStatusCode();
            }

            var response = await _client.GetAsync("/api/messages");

            response.EnsureSuccessStatusCode();
            var body = await response.Content.ReadAsStringAsync();

            var deserializedBody = JsonConvert.DeserializeObject <Hub.API.ViewModels.MessageViewModel[]>(body);

            Assert.NotEmpty(deserializedBody);
            deserializedBody.Should().HaveCountGreaterOrEqualTo(5);
        }