public async Task <IActionResult> AddFollower(int cityId) { var follower = await _cityParticipantsService.AddFollowerAsync(cityId, await _userManager.GetUserAsync(User)); _logger.LogInformation($"User {{{follower.UserId}}} became a follower of city {{{cityId}}}."); return(Ok(follower)); }
public async Task AddFollowerAsync_ReturnsCityMembersDTO() { //Arrange _repoWrapper .Setup(x => x.CityMembers.GetFirstOrDefaultAsync(It.IsAny <Expression <Func <DataAccess.Entities.CityMembers, bool> > >(), It.IsAny <Func <IQueryable <DataAccess.Entities.CityMembers>, IIncludableQueryable <DataAccess.Entities.CityMembers, object> > >())) .ReturnsAsync(new CityMembers()); _repoWrapper .Setup(x => x.CityMembers.Delete(It.IsAny <CityMembers>())); _repoWrapper .Setup(x => x.SaveAsync()); _repoWrapper .Setup(x => x.CityAdministration.GetAllAsync(It.IsAny <Expression <Func <CityAdministration, bool> > >(), It.IsAny <Func <IQueryable <CityAdministration>, IIncludableQueryable <CityAdministration, object> > >())) .ReturnsAsync(GetCityAdministration()); _repoWrapper .Setup(x => x.CityAdministration.GetFirstOrDefaultAsync(It.IsAny <Expression <Func <CityAdministration, bool> > >(), It.IsAny <Func <IQueryable <CityAdministration>, IIncludableQueryable <CityAdministration, object> > >())) .ReturnsAsync(new CityAdministration() { AdminTypeId = 2 }); _repoWrapper .Setup(x => x.CityAdministration.GetFirstOrDefaultAsync(It.IsAny <Expression <Func <CityAdministration, bool> > >(), It.IsAny <Func <IQueryable <CityAdministration>, IIncludableQueryable <CityAdministration, object> > >())) .ReturnsAsync(new CityAdministration() { AdminTypeId = 76 }); _adminTypeService .Setup(x => x.GetAdminTypeByIdAsync(It.IsAny <int>())).ReturnsAsync(new AdminTypeDTO() { AdminTypeName = Roles.CityHead }); _repoWrapper .Setup(x => x.CityAdministration.Update(new CityAdministration())); _userManager .Setup(x => x.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(new User()); _repoWrapper .Setup(x => x.CityMembers.CreateAsync(It.IsAny <CityMembers>())); _repoWrapper .Setup(x => x.SaveAsync()); _mapper .Setup(x => x.Map <CityMembers, CityMembersDTO>(It.IsAny <CityMembers>())).Returns(new CityMembersDTO()); _userManager .Setup(x => x.IsInRoleAsync(It.IsAny <User>(), It.IsAny <string>())) .ReturnsAsync(true); _emailContentService .Setup(x => x.GetCityAdminAboutNewFollowerEmailAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>())) .ReturnsAsync(new EmailModel()); // Act var result = await _cityParticipantsService.AddFollowerAsync(It.IsAny <int>(), It.IsAny <string>()); // Assert Assert.IsInstanceOf <CityMembersDTO>(result); }