public async Task Create_ReturnsUser()
        {
            // Prepare
            var createUserCommand = new CreateUserCommand
            {
                Username = "******",
                Email    = "*****@*****.**"
            };

            // Execute
            var responseCreate = await _client.PostAsJsonAsync(Endpoints.USERS, createUserCommand);

            var contentCreate = await responseCreate.Content.ReadAsStringAsync();

            // Check
            var expectedBasicUser = new BasicUserViewModel
            {
                Username = createUserCommand.Username,
                Email    = createUserCommand.Email,
                IsActive = true
            };

            Assert.Equal(HttpStatusCode.Created, responseCreate.StatusCode);
            Assert.Equal(expectedBasicUser.Serialize(), contentCreate);
        }
        public async Task Create_UserAndThenQuerying_ReturnsUser()
        {
            // Prepare
            var createUserCommand = new CreateUserCommand
            {
                Username = "******",
                Email    = "*****@*****.**"
            };

            // Execute
            var responseCreate = await _client.PostAsJsonAsync(Endpoints.USERS, createUserCommand);

            var contentCreate = await responseCreate.Content.ReadAsStringAsync();

            var responseGetByUsername = await _client.GetAsync(
                $"{Endpoints.USERS}/{createUserCommand.Username}");

            var resultUser = JsonConvert.DeserializeObject <User>(await responseGetByUsername.Content.ReadAsStringAsync());

            // Check
            // Creation
            var expectedBasicUser = new BasicUserViewModel
            {
                Username = createUserCommand.Username,
                Email    = createUserCommand.Email,
                IsActive = true
            };

            Assert.Equal(HttpStatusCode.Created, responseCreate.StatusCode);
            Assert.Equal(expectedBasicUser.Serialize(), contentCreate);

            // GetByUsername
            Assert.Equal(HttpStatusCode.OK, responseGetByUsername.StatusCode);
            Assert.Equal(createUserCommand.Username, resultUser.Username);
            Assert.Equal(createUserCommand.Email, resultUser.Email);
            Assert.True(resultUser.IsActive);
            Assert.NotNull(resultUser.CreatedAt);
            Assert.NotNull(resultUser.UpdatedAt);
        }