public async Task TestGetThreadsForSpecifiedUser() { StudentifyAccountsRepository studentifyAccountsRepository = new StudentifyAccountsRepository(_context, new SelectRepositoryBase <StudentifyAccount>(_context), new UpdateRepositoryBase <StudentifyAccount>(_context), new InsertRepositoryBase <StudentifyAccount>(_context)); StudentifyUser user = new StudentifyUser { UserName = "******" }; StudentifyAccount account = new StudentifyAccount { StudentifyUserId = user.Id, User = user }; Thread insertedThread = new Thread() { ReferencedEventId = 1, ReferencedEvent = new Info { Author = account }, UserAccount = account }; await studentifyAccountsRepository.Insert.One(account); await _repository.Insert.One(insertedThread); var threads = await _repository.SelectAllUserRelatedThreads(account.UserName); Assert.True(threads.Any()); }
public async Task TestSkillsManagement() { StudentifyUser user = new StudentifyUser() { UserName = "******", }; Skill skill = new Skill() { Name = "skill", Owner = null, Rate = 50 }; var addedAccount = new StudentifyAccount { StudentifyUserId = user.Id, User = user }; await _repository.Insert.One(addedAccount); var account = await _repository.SelectByUsername("skilled-user"); await _repository.SaveSkill(account.Id, skill); var skills = await _repository.GetSkills(account.Id); Assert.IsTrue(skills.Contains(skill)); }
public async Task <IActionResult> Register([FromBody] RegisterDto dto) { var user = new StudentifyUser() { Email = dto.Email, FirstName = dto.FirstName, LastName = dto.LastName, SecurityStamp = Guid.NewGuid().ToString(), UserName = dto.Username }; var result = await _userManager.CreateAsync(user, dto.Password); if (!result.Succeeded) { var errors = result.Errors; return(StatusCode(StatusCodes.Status500InternalServerError, errors)); } var account = new StudentifyAccount { StudentifyUserId = user.Id, User = user }; await _accountsRepository.Insert.One(account); var token = await GenerateToken(user); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token), expiration = token.ValidTo, account })); }
public async Task <IActionResult> PatchTradeOffer(int id, TradeOfferDto tradeOfferDto) { TradeOffer tradeOffer; try { tradeOffer = await _tradeOffersRepository.Select.ById(id); } catch (DataException) { return(BadRequest()); } StudentifyAccount buyerAccount = null; if (tradeOfferDto.BuyerId.HasValue) { var buyerId = tradeOfferDto.BuyerId.Value; try { buyerAccount = await _accountsRepository.Select.ById(buyerId); } catch (DataException) { return(NotFound("Buyer id not found")); } } tradeOffer.Name = tradeOfferDto.Name; tradeOffer.ExpiryDate = tradeOfferDto.ExpiryDate; tradeOffer.MapPoint.X = tradeOfferDto.Longitude; tradeOffer.MapPoint.Y = tradeOfferDto.Latitude; tradeOffer.Address = tradeOfferDto.Address; tradeOffer.Description = tradeOfferDto.Description; tradeOffer.Offer = tradeOfferDto.Offer; tradeOffer.Price = tradeOfferDto.Price; tradeOffer.Buyer = buyerAccount; try { await _tradeOffersRepository.Update.One(tradeOffer, id); } catch (DataException) { return(NotFound()); } return(NoContent()); }
public async Task TestSelectByUsername() { StudentifyUser user = new StudentifyUser() { UserName = "******", }; var addedAccount = new StudentifyAccount { StudentifyUserId = user.Id, User = user }; await _repository.Insert.One(addedAccount); var account = await _repository.SelectByUsername("test-user"); Assert.IsTrue(account != null); }
public async Task CreateAccountSuccess() { const int expectedNumberOfAccounts = 1; StudentifyUser user = new StudentifyUser() { UserName = "******", }; var account = new StudentifyAccount { StudentifyUserId = user.Id, User = user }; await _repository.Insert.One(account); var accounts = (await _repository.Select.All()) .Where(acc => acc.StudentifyUserId == user.Id).ToList(); Assert.AreEqual(expectedNumberOfAccounts, accounts.Count); }
public async Task <ActionResult <TradeOffer> > PostTradeOffer(TradeOfferDto tradeOfferDto) { var username = User.Identity.Name; var account = await _accountsRepository.SelectByUsername(username); StudentifyAccount buyerAccount = null; if (tradeOfferDto.BuyerId.HasValue) { var buyerId = tradeOfferDto.BuyerId.Value; try { buyerAccount = await _accountsRepository.Select.ById(buyerId); } catch (DataException) { return(NotFound("Buyer id not found")); } } var tradeOffer = new TradeOffer { Name = tradeOfferDto.Name, ExpiryDate = tradeOfferDto.ExpiryDate, MapPoint = new Point(tradeOfferDto.Longitude, tradeOfferDto.Latitude) { SRID = 4326 }, Address = tradeOfferDto.Address, Description = tradeOfferDto.Description, AuthorId = account.Id, CreationDate = DateTime.Now, Offer = tradeOfferDto.Offer, Price = tradeOfferDto.Price, Buyer = buyerAccount }; await _tradeOffersRepository.Insert.One(tradeOffer); return(CreatedAtAction(nameof(GetTradeOffer), new { id = tradeOffer.Id }, tradeOffer)); }
public async Task TestRegisterAttendance() { const int expectedNumberOfParticipants = 1; Meeting meeting = new Meeting() { AuthorId = 1, Address = null, Name = "Testowe spotkanie", CreationDate = DateTime.Now, ExpiryDate = DateTime.Now, MaxNumberOfParticipants = 2, Participants = new List <StudentifyAccount>() }; StudentifyAccount account = new StudentifyAccount(); await _repository.Insert.One(meeting); await _repository.RegisterAttendance(meeting, account); var selectedMeeting = await _repository.Select.ById(meeting.Id); Assert.AreEqual(expectedNumberOfParticipants, selectedMeeting.Participants.Count); }
public async Task RegisterAttendance(Meeting meeting, StudentifyAccount account) { meeting.Participants.Add(account); await Context.SaveChangesAsync(); }