public async Task UpdateAsync_ValidData_Successful() { // Arrange. Seed(TripFlipDbContext, ValidUser); Seed(TripFlipDbContext, TripEntityToSeed); Seed(TripFlipDbContext, RouteEntityToSeed); Seed(TripFlipDbContext, ItemListEntityToSeed); Seed(TripFlipDbContext, TripSubscriberEntitiesToSeed); Seed(TripFlipDbContext, RouteSubscriberEntitiesToSeed); Seed(TripFlipDbContext, RouteRoleEntitiesToSeed); Seed(TripFlipDbContext, RouteSubscriberEditorRoleEntityToSeed); CurrentUserService = CreateCurrentUserService(ValidUser.Id, ValidUser.Email); var updateItemListDto = GetUpdateItemListDto(); var itemListService = new ItemListService(TripFlipDbContext, Mapper, CurrentUserService); // Act. var resultItemListDto = await itemListService.UpdateAsync(updateItemListDto); var expectedItemListDto = new ItemListDto() { Id = updateItemListDto.Id, Title = updateItemListDto.Title, RouteId = resultItemListDto.RouteId // UpdateItemListDto doesn't contain this field, so it initialized like that. }; var comparer = new ItemListDtoComparer(); // Assert. Assert.AreEqual(0, comparer.Compare(resultItemListDto, expectedItemListDto)); }
public async Task UpdateAsync_NonExistentItemList_ExceptionThrown() { // Arrange. var updateItemListDto = GetUpdateItemListDto(); var itemListService = new ItemListService(TripFlipDbContext, Mapper, CurrentUserService); // Act + Assert. await Assert.ThrowsExceptionAsync <NotFoundException>(async() => await itemListService.UpdateAsync(updateItemListDto)); }
public async Task UpdateAsync_CurrentUserNotRouteEditor_ExceptionThrown() { // Arrange. Seed(TripFlipDbContext, UserWithoutRouteRoles); Seed(TripFlipDbContext, TripEntityToSeed); Seed(TripFlipDbContext, RouteEntityToSeed); Seed(TripFlipDbContext, ItemListEntityToSeed); Seed(TripFlipDbContext, TripSubscriberEntitiesToSeed); Seed(TripFlipDbContext, RouteSubscriberEntitiesToSeed); Seed(TripFlipDbContext, RouteRoleEntitiesToSeed); CurrentUserService = CreateCurrentUserService(UserWithoutRouteRoles.Id, UserWithoutRouteRoles.Email); var updateItemListDto = GetUpdateItemListDto(); var itemListService = new ItemListService(TripFlipDbContext, Mapper, CurrentUserService); // Act + Assert. await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await itemListService.UpdateAsync(updateItemListDto)); }
public async Task UpdateAsync_InvalidCurrentUser_ExceptionThrown( string displayName, ICurrentUserService currentUserService) { // Arrange. Seed(TripFlipDbContext, NonExistentUser); Seed(TripFlipDbContext, NotRouteSubscriberUser); Seed(TripFlipDbContext, NotTripSubscriberUser); Seed(TripFlipDbContext, TripEntityToSeed); Seed(TripFlipDbContext, RouteEntityToSeed); Seed(TripFlipDbContext, ItemListEntityToSeed); Seed(TripFlipDbContext, TripSubscriberEntitiesToSeed); Seed(TripFlipDbContext, RouteSubscriberEntitiesToSeed); Seed(TripFlipDbContext, RouteRoleEntitiesToSeed); CurrentUserService = currentUserService; var updateItemListDto = GetUpdateItemListDto(); var itemListService = new ItemListService(TripFlipDbContext, Mapper, CurrentUserService); // Act + Assert. await Assert.ThrowsExceptionAsync <NotFoundException>(async() => await itemListService.UpdateAsync(updateItemListDto), displayName); }