public async Task Should_Return_BadRequest(string name, string version, string userId) { var model = new CreateProjectRouteInput(name, 0); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("/api/projects", UriKind.Relative), Content = new StringContent(JsonSerializer.Serialize(model), Encoding.UTF8, "application/json") }; request.Headers.Add("test-user", userId); var response = await _fixture.Client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); Snapshot.Match(response.ReasonPhrase, $"{nameof(CreateProjectTests)}.{nameof(Should_Return_BadRequest)}.{version}"); }
public async Task Should_Return_Created() { using var scope = _fixture.Provider.CreateScope(); using var context = scope.ServiceProvider.GetRequiredService <RatDbContext>(); var projectType = await context.ProjectTypes.FirstOrDefaultAsync(x => x.Name == "js"); var model = new CreateProjectRouteInput("Rat Api", projectType.Id); var response = await _fixture.Client.PostAsync( "/api/projects", new StringContent(JsonSerializer.Serialize(model), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.Created, response.StatusCode); var contentStream = await response.Content.ReadAsStreamAsync(); var content = await JsonSerializer.DeserializeAsync <CreateProjectRouteOutput>(contentStream, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); Assert.True(content.Id > 0); }
public async Task Should_Return_Forbidden() { using var scope = _fixture.Provider.CreateScope(); using var context = scope.ServiceProvider.GetRequiredService <RatDbContext>(); var projectType = await context.ProjectTypes.FirstOrDefaultAsync(x => x.Name == "js"); var model = new CreateProjectRouteInput("Rat Api", projectType.Id); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("/api/projects", UriKind.Relative), Content = new StringContent(JsonSerializer.Serialize(model), Encoding.UTF8, "application/json") }; request.Headers.Add("test-user", "null"); var response = await _fixture.Client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead); Assert.Equal(HttpStatusCode.Forbidden, response.StatusCode); }