public async Task Should_Be_Able_To_Execute_Insert_Update_And_Delete_Operations_As_Administrator() { using (var client = Server.CreateClient()) { var authenticator = new ApiAuthenticator(client); await authenticator.AuthenticateClientAsync(client, DatabaseSeeds.AdminUsername, DatabaseSeeds.AdminPassword); var postRequest = new SendCustomerModel { Name = "Jessie", Email = "*****@*****.**" }; var postResponse = await client.PostAsJsonAsync("/api/customer", postRequest); postResponse.EnsureSuccessStatusCode(); var postContent = await postResponse.Content.ReadAsAsync <GetCustomerModel>(); postContent.Name.Should().Be(postRequest.Name); postContent.Email.Should().Be(postRequest.Email); var getResponse = await client.GetAsync($"/api/customer/{postContent.Id}"); getResponse.EnsureSuccessStatusCode(); var getContent = await getResponse.Content.ReadAsAsync <GetCustomerModel>(); getContent.Id.Should().Be(postContent.Id); getContent.Name.Should().Be(postContent.Name); getContent.Email.Should().Be(postContent.Email); var putRequest = new SendCustomerModel { Name = "Bellona", Email = "*****@*****.**" }; var putResponse = await client.PutAsJsonAsync($"/api/customer/{postContent.Id}", putRequest); putResponse.EnsureSuccessStatusCode(); var putContent = await putResponse.Content.ReadAsAsync <GetCustomerModel>(); putContent.Id.Should().Be(postContent.Id); putContent.Name.Should().Be(putRequest.Name); putContent.Email.Should().Be(putRequest.Email); var deleteResponse = await client.DeleteAsync($"/api/customer/{postContent.Id}"); deleteResponse.StatusCode.Should().Be(HttpStatusCode.NoContent); var notFoundContent = await client.GetAsync($"/api/customer/{postContent.Id}"); notFoundContent.StatusCode.Should().Be(HttpStatusCode.NotFound); } }
public async Task Should_Be_Able_To_Authenticate_User(string username, string password) { using (var client = Server.CreateClient()) { var authenticator = new ApiAuthenticator(client); var result = await authenticator.AuthenticateAsync(username, password); result.Should().NotBeNull(); result.Username.Should().Be(username); result.JwtToken.Should().NotBeNullOrWhiteSpace(); } }