public async Task AddNewActivity() { //Arrange var activityType = ActivityTypeFactory.Default(); var city = CityFactory.Default(); var activity = new CreateActivityModel() { ActivityTypeId = activityType.Id, Address = "test address", CityId = city.Id, Description = "test description", Name = "test name" }; //Act await ExecuteDatabaseAction(async (doFestContext) => { await doFestContext.ActivityTypes.AddAsync(activityType); await doFestContext.Cities.AddAsync(city); await doFestContext.SaveChangesAsync(); }); //Assert var response = await HttpClient.PostAsJsonAsync($"/api/v1/activities", activity); response.IsSuccessStatusCode.Should().BeTrue(); }
public async Task DeleteActivity() { //Arrange var activityType = ActivityTypeFactory.Default(); var city = CityFactory.Default(); var activity = new Activity(activityType.Id, city.Id, "test name", "test description", "test address"); //Act await ExecuteDatabaseAction(async (doFestContext) => { await doFestContext.ActivityTypes.AddAsync(activityType); await doFestContext.Cities.AddAsync(city); await doFestContext.SaveChangesAsync(); }); await ExecuteDatabaseAction(async (doFestContext) => { await doFestContext.Activities.AddAsync(activity); await doFestContext.SaveChangesAsync(); }); var response = await HttpClient.DeleteAsync($"/api/v1/activities/{activity.Id}"); //Assert response.IsSuccessStatusCode.Should().BeTrue(); }
public async Task AddActivityInBucketList() { //Arrange var activityType = ActivityTypeFactory.Default(); var city = CityFactory.Default(); var activity = ActivityFactory.Default(city.Id, activityType.Id); BucketList bucket = null; await ExecuteDatabaseAction(async (doFestContext) => { await doFestContext.ActivityTypes.AddAsync(activityType); await doFestContext.Cities.AddAsync(city); await doFestContext.Activities.AddAsync(activity); await doFestContext.SaveChangesAsync(); bucket = await doFestContext .BucketLists .FirstOrDefaultAsync(x => x.UserId == AuthenticatedUserId); }); //Act var response = await HttpClient.PostAsync($"/api/v1/bucketlists/{bucket.Id}/activities/{activity.Id}", null); //Assert response.IsSuccessStatusCode.Should().BeTrue(); }
public async Task UpdateBucketList() { //Arrange var activityType = ActivityTypeFactory.Default(); var city = CityFactory.Default(); var activity = ActivityFactory.Default(city.Id, activityType.Id); BucketList bucket = null; var updateModel = new BucketListUpdateModel() { Name = "bucketlist test", ActivitiesForDelete = new List <Guid>(), ActivitiesForToggle = new List <Guid>() }; await ExecuteDatabaseAction(async (doFestContext) => { bucket = await doFestContext .BucketLists .FirstOrDefaultAsync(x => x.UserId == AuthenticatedUserId); await doFestContext.Cities.AddAsync(city); await doFestContext.ActivityTypes.AddAsync(activityType); await doFestContext.Activities.AddAsync(activity); await doFestContext.SaveChangesAsync(); await doFestContext.BucketListActivities.AddAsync(new BucketListActivity(bucket.Id, activity.Id)); await doFestContext.SaveChangesAsync(); }); //Act var response = await HttpClient.PutAsJsonAsync($"/api/v1/bucketlists/{bucket.Id}/activities", updateModel); //Assert response.IsSuccessStatusCode.Should().BeTrue(); BucketList existingBucketList = null; await ExecuteDatabaseAction(async (doFestContext) => { existingBucketList = await doFestContext .BucketLists .FirstOrDefaultAsync(x => x.UserId == AuthenticatedUserId); }); existingBucketList.Should().NotBeNull(); existingBucketList.Name.Should().Be(updateModel.Name); }
public async Task DeleteCityTest() { //Arrange var city = CityFactory.Default().WithName("Bacau"); await ExecuteDatabaseAction(async (doFestContext) => { await doFestContext.Cities.AddAsync(city); await doFestContext.SaveChangesAsync(); }); // Act var response = await HttpClient.DeleteAsync($"/api/v1/cities/{city.Id}"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); City existingCity = null; await ExecuteDatabaseAction(async (doFestContext) => { existingCity = await doFestContext.Cities.FirstOrDefaultAsync(entity => entity.Name == city.Name); }); existingCity.Should().BeNull(); }
private async Task SetAuthenticationToken() { UserType userType = UserTypeFactory.Default(); UserType admin = UserTypeFactory.Default().WithName("Admin"); City city = CityFactory.Default(); await ExecuteDatabaseAction(async (doFestContext) => { await doFestContext.UserTypes.AddAsync(userType); await doFestContext.UserTypes.AddAsync(admin); await doFestContext.Cities.AddAsync(city); await doFestContext.SaveChangesAsync(); CityId = city.Id; }); var userRegisterModel = new RegisterModel { Username = "******", Age = 20, BucketListName = "test bucketlist", City = city.Id, Email = "*****@*****.**", Name = "testtest", Password = "******", Year = 3 }; var userRegisterResponse = await HttpClient.PostAsJsonAsync($"api/v1/auth/register", userRegisterModel); userRegisterResponse.IsSuccessStatusCode.Should().BeTrue(); if (_isAdmin == true) { var userRespository = new UserRepository(dbContext); var userTypeRepository = new UserTypeRepository(userTypeDbContext); var userTypeAdmin = await userTypeRepository.GetByName("Admin"); var user = await userRespository.GetByEmail(userRegisterModel.Email); user.UserTypeId = userTypeAdmin.Id; userRespository.Update(user); await userRespository.SaveChanges(); } var authenticateModel = new LoginModelRequest { Email = userRegisterModel.Email, Password = userRegisterModel.Password }; var userAuthenticateResponse = await HttpClient.PostAsJsonAsync($"api/v1/auth/login", authenticateModel); userAuthenticateResponse.IsSuccessStatusCode.Should().BeTrue(); AuthenticatedUserId = new Guid(); var authenticationResponseContent = await userAuthenticateResponse.Content.ReadAsAsync <LoginModelResponse>(); var stream = authenticationResponseContent.Token; var handler = new JwtSecurityTokenHandler(); var tokenS = handler.ReadToken(stream) as JwtSecurityToken; AuthenticatedUserId = new Guid(tokenS.Claims.First(x => x.Type == "userId").Value); AuthenticationToken = authenticationResponseContent.Token; }