public async Task Post_LoginWithInvalidModelShouldReturnBadRequest()
        {
            var model = new TestLoginUserInputModel();

            var response = await this.client.PostAsJsonAsync("/api/Identity/Login", model,
                                                             new JsonSerializerOptions()
            {
                IgnoreNullValues = true
            });

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.Equal("application/problem+json", response.Content.Headers.ContentType.MediaType);
        }
        public async Task Post_LoginWithWrongCredentialsShouldReturnBadRequest(string username, string password)
        {
            var model = new TestLoginUserInputModel()
            {
                UserName = username,
                Password = password
            };

            var response = await this.client.PostAsJsonAsync("/api/Identity/Login", model,
                                                             new JsonSerializerOptions()
            {
                IgnoreNullValues = true
            });

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
            Assert.Equal("application/json", response.Content.Headers.ContentType.MediaType);
        }
        public async Task Post_LoginShouldReturnStatusOkWithUserAndToken()
        {
            var model = new TestLoginUserInputModel()
            {
                UserName = "******",
                Password = "******"
            };

            var response = await this.client.PostAsJsonAsync("/api/Identity/Login", model,
                                                             new JsonSerializerOptions()
            {
                IgnoreNullValues = true
            });

            response.EnsureSuccessStatusCode();

            var result = await response.Content.ReadFromJsonAsync <TestUserOutputModel>();

            Assert.NotNull(result);
            Assert.Equal("admin", result.Username);
            Assert.NotNull(result.Token);
        }