public async Task CreateAttractionCategory_ShouldReturnSuccessWithCreatedData() { var client = _factory.GetClient(); var token = ApiTokenHelper.GenerateFakeToken(); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var command = new CreateAttractionCategoryCommand { Name = "Fountain" }; var content = Utilities.GetRequestContent(command); var response = await client.PostAsync($"/attractioncategories", content); response.EnsureSuccessStatusCode(); var result = await Utilities.GetResponseContent <Application.Features.AttractionCategories.Commands.CreateAttractionCategory.AttractionCategoryDto>(response); result.Should().BeOfType(typeof(Application.Features.AttractionCategories.Commands.CreateAttractionCategory.AttractionCategoryDto)); result.Should().NotBeNull(); response.StatusCode.Should().Be(HttpStatusCode.Created); response.Headers.Location.LocalPath.Should().Be($"/AttractionCategories/{result.Id}"); }
public async Task CreateCity_ShouldReturnSuccessWithCreatedData() { var client = _factory.GetClient(); var token = ApiTokenHelper.GenerateFakeToken(); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var command = new CreateCityCommand { Name = "Venice", CountryId = Guid.Parse("{3ae4e108-e2df-4893-958a-2d76ab89b9dc}") }; var content = Utilities.GetRequestContent(command); var response = await client.PostAsync($"/cities", content); response.EnsureSuccessStatusCode(); var result = await Utilities.GetResponseContent <Application.Features.Cities.Commands.CreateCity.CityDto>(response); result.Should().BeOfType(typeof(Application.Features.Cities.Commands.CreateCity.CityDto)); result.Should().NotBeNull(); response.StatusCode.Should().Be(HttpStatusCode.Created); response.Headers.Location.LocalPath.Should().Be($"/Cities/{result.CityId}"); }
public async Task CreateAttraction_ShouldReturnSuccessWithCreatedData() { var client = _factory.GetClient(); var token = ApiTokenHelper.GenerateFakeToken(); client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var command = new CreateAttractionCommand { Name = "Pantheon", Date = "113–125 AD", Author = "Apollodoros", Description = "The building is cylindrical with a portico of large granite Corinthian columns (eight in the first rank and two groups of four behind) under a pediment.", AttractionCategoryId = Guid.Parse("{7e12db9e-5648-4385-a9dc-abe24f1fbc4b}"), IsFree = true, CityId = Guid.Parse("{b3ec95dd-c424-4a2b-a329-50e6bdfff8b8}"), }; var content = Utilities.GetRequestContent(command); var response = await client.PostAsync($"/attractions", content); response.EnsureSuccessStatusCode(); var result = await Utilities.GetResponseContent <AttractionDto>(response); result.Should().BeOfType(typeof(AttractionDto)); result.Should().NotBeNull(); response.StatusCode.Should().Be(HttpStatusCode.Created); response.Headers.Location.LocalPath.Should().Be($"/Attractions/{result.AttractionId}"); }
public async Task ReturnsNotFoundGivenInvalidIdAndAdminUserToken() { var adminToken = ApiTokenHelper.GetAdminUserToken(); Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", adminToken); var response = await Client.DeleteAsync("api/catalog-items/0"); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }
public async Task ReturnsSuccessGivenValidIdAndAdminUserToken() { var adminToken = ApiTokenHelper.GetAdminUserToken(); Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", adminToken); var response = await Client.DeleteAsync("api/catalog-items/12"); response.EnsureSuccessStatusCode(); var stringResponse = await response.Content.ReadAsStringAsync(); var model = stringResponse.FromJson <DeleteCatalogItemResponse>(); Assert.Equal("Deleted", model.Status); }
public async Task ReturnsItemGivenValidId() { var token = ApiTokenHelper.getToken(); Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); var response = await Client.GetAsync("api/employee"); response.EnsureSuccessStatusCode(); var stringResponse = await response.Content.ReadAsStringAsync(); var result = Newtonsoft.Json.JsonConvert.DeserializeObject <DescriptiveResponse <List <Employee> > >(stringResponse); Assert.Equal(HttpStatusCode.OK, response.StatusCode); }
public static string ValidateAccessToken() { var currentDate = DateTime.Now; if (AppSettingsHelper.IsAuthAccessTokenExpirationSet) { var authAccessTokenExpiration = AppSettingsHelper.AuthAccessTokenExpiration; if (currentDate > authAccessTokenExpiration) { var result = ApiTokenHelper.GetAccessToken(AppSettingsHelper.AuthUsername, AppSettingsHelper.AuthPassPhrase); if (result != null && !string.IsNullOrEmpty(result.access_token)) { AppSettingsHelper.AuthAccessToken = result.access_token; } } } return(AppSettingsHelper.AuthAccessToken); }
public async Task ReturnsSuccessGivenValidNewItemAndAdminUserToken() { var jsonContent = GetValidNewItemJson(); var adminToken = ApiTokenHelper.GetAdminUserToken(); Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", adminToken); var response = await Client.PostAsync("api/foodproduct", jsonContent); response.EnsureSuccessStatusCode(); var stringResponse = await response.Content.ReadAsStringAsync(); var model = stringResponse.FromJson <CreateFoodProductResponse>(); Assert.Equal(_name, model.FoodProduct.Name); Assert.Equal(_unitOfMeasureId, model.FoodProduct.UnitOfMeasureId); Assert.Equal(_calories, model.FoodProduct.Calories); Assert.Equal(_protein, model.FoodProduct.Protein); Assert.Equal(_carbohydrates, model.FoodProduct.Carbohydrates); Assert.Equal(_fats, model.FoodProduct.Fats); }
public async Task CreateNewExpression() { var jsonContent = GetValidNewExpressionJson(); var adminToken = ApiTokenHelper.GetAdminUserToken(); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", adminToken); var response = await _client.PostAsync($"/api/expressions", jsonContent); response.EnsureSuccessStatusCode(); var stringResponse = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <CreateExpressionResult>(stringResponse); Assert.NotNull(result); Assert.Equal(_title, result.Title); Assert.Equal(_pattern, result.Pattern); Assert.Equal(_description, result.Description); Assert.Equal(_authorId, result.AuthorId); }