public async Task FindAllNotificationsUserTest() { // Arrange var activityType = ActivityTypeFactory.Default(); var activity = ActivityFactory.Default(CityId, activityType.Id); var notification = NotificationFactory.Default(activity.Id); activity.AddNotification(notification); BucketList bucketList = null; BucketListActivity bucketListActivity = null; await ExecuteDatabaseAction(async (doFestContext) => { await doFestContext.ActivityTypes.AddAsync(activityType); await doFestContext.SaveChangesAsync(); bucketList = await doFestContext.BucketLists.FirstOrDefaultAsync(entity => entity.UserId == AuthenticatedUserId); if (bucketList != null) { bucketListActivity = new BucketListActivity(bucketList.Id, activity.Id); await doFestContext.BucketListActivities.AddAsync(bucketListActivity); await doFestContext.Activities.AddAsync(activity); await doFestContext.SaveChangesAsync(); } }); // Act var response = await HttpClient.GetAsync("api/v1/notifications"); // Assert response.IsSuccessStatusCode.Should().BeTrue(); var notifications = await response.Content.ReadAsAsync <IList <Notification> >(); notifications.Should().HaveCount(1); }
public async Task <Result <BucketListModel, Error> > Add(Guid bucketListId, Guid activityId) { var userId = Guid.Parse(_accessor.HttpContext.User.Claims.First(c => c.Type == "userId").Value); var bucketListExists = (await _bucketListRepository.GetById(bucketListId)) != null; if (!bucketListExists) { return(Result.Failure <BucketListModel, Error>(ErrorsList.UnavailableBucketList)); } var bucketList = await _bucketListRepository.GetByIdWithActivities(bucketListId); if (bucketList == null) { return(Result.Failure <BucketListModel, Error>(ErrorsList.UnavailableBucketList)); } var user = await _userRepository.GetById(bucketList.UserId); if (userId != bucketList.UserId) { return(Result.Failure <BucketListModel, Error>(ErrorsList.UnauthorizedUser)); } // Daca activitatea exista deja in bucketlist se returneaza o eroare. if (bucketList.BucketListActivities.Any(bucketListActivityQuery => bucketListActivityQuery.ActivityId == activityId)) { return(Result.Failure <BucketListModel, Error>(ErrorsList.ActivityInBucketListExists)); } var activity = await _activitiesRepository.GetById(activityId); if (activity == null) { return(Result.Failure <BucketListModel, Error>(ErrorsList.UnavailableActivity)); } var bucketListActivity = new BucketListActivity(bucketListId, activityId); bucketList.AddBucketListActivity(bucketListActivity); _bucketListRepository.Update(bucketList); await _bucketListRepository.SaveChanges(); return(BucketListModel.Create(bucketList.Id, bucketList.Name, user.Username)); }