public void InvitationRepository_GetsInvitationWithExistingKey_GetsAnExistingUser() { var invitationRepository = new Mock <IInvitationRepository>(); // Arrange var invitationDto = new InvitationDTO { Id = 1, invitationKey = "fsdfsdfsdf", Used = false }; invitationRepository .Setup(x => x.FindByInvitationKey(It.Is <string>(i => i == "fsdfsdfsdf"))) .Returns(invitationDto); invitationRepository .Setup(x => x.FindByInvitationKey(It.Is <string>(i => i != "fsdfsdfsdf"))) .Returns((InvitationDTO)null); // Act var invitation = invitationRepository.Object.FindByInvitationKey("fsdfsdfsdf"); // Assert Assert.NotNull(invitation); Assert.Equal(invitation.Id, invitationDto.Id); }
public long AddInvitation(InvitationDTO invitationDto, long userID, string fileName) { var invitation = new Invitation(); invitation.InvitationName = invitationDto.InvitationName; //invitation.InvitationDateTime = DateTime.Now; invitation.InvitationDateTime = invitationDto.InvitationDateTime; invitation.InvitationDescription = invitationDto.InvitationDescription; invitation.TemplateID = invitationDto.TemplateID; invitation.UserID = userID; invitation.icsFile = fileName; _invitationService.Insert(invitation); var inviteesList = AddSelectedInvitees(invitationDto.inviteesData, userID, invitation.InvitationID); SaveChanges(); // Uncomment below code to run Sending email foreach (var item in inviteesList) { var contact = _contactService.GetContactByID(item.ContactID); string url = "http://invitationsbackend.azurewebsites.net/#!/viewInvitationForInvitee/" + invitation.InvitationID + "/" + item.InviteeID; string body = PopulateBody(url); SendHtmlFormattedEmail(contact.ContactEmail, "New Invitation!", body); //sendEmailViaWebApi(invitation.InvitationID, item.InviteeID, contact.ContactEmail, fileName); } // Edit consumed Users in package and send to subscription UpdateUserPackages(invitationDto.ConsumedPackage, userID); return(invitation.InvitationID); }
public async Task <IActionResult> FlightInvitation([FromBody] InvitationDTO model) { if (ModelState.IsValid) { var user = await UserService.GetCurrentUser(); if (user != null) { var reservation = user.ReservedFlights.SingleOrDefault(rf => rf.FlightReservationId == model.Id); if (reservation != null) { var flight = await FlightService.GetFlight(reservation.FlightId); if (flight != null) { var successfull = await UserService.InviteToFlight(model.FlightId, model.FriendUsername); if (successfull) { return(Ok(200)); } else { return(BadRequest("Friend not found!")); } } } } } return(BadRequest("Not enough data provided.")); }
public void InvitationManager_SaveAInvitationWithUsed_ThrowsValidationError() { // Arrange var sessionMock = new Mock <ISession>(); var mapperMock = new Mock <IMapper>(); var unitOfWorkMock = new Mock <IUnitOfWork>(); var invitationManager = new InvitationManager(sessionMock.Object, mapperMock.Object, unitOfWorkMock.Object); unitOfWorkMock .SetupGet(x => x.IsManagedTransaction) .Returns(true); var invitationDTO = new InvitationDTO { Used = true, UserId = 1, invitationKey = "fsdfsdfdsfdsfdfs" }; var invitationEntity = new InvitationEntity { Used = true, invitationKey = "fsdfsdfdsfdsfdfs" }; mapperMock .Setup(x => x.Map(It.IsAny <InvitationDTO>(), It.IsAny <InvitationEntity>())) .Returns(invitationEntity); // Act var saveResult = invitationManager.Save(invitationDTO); // Assert Assert.False(saveResult.Succeeded); Assert.True(saveResult.ErrorMessages.Count > 0); }
public async Task RegisterService_RegisterWidthUsedInvitation_ReturnsFalseActionResult() { var mediatorMock = new Mock <IMediator>(); var registerService = new RegisterService(mediatorMock.Object); var key = "Key"; var user = new UserDTO { Name = "Test", Email = "*****@*****.**", UserName = "******", NormalizedUserName = "******" }; var deriveduser = new UserDTO { Name = "derivedTest", Email = "*****@*****.**", UserName = "******", NormalizedUserName = "******", Id = 35, PasswordHash = "PasswordHash" }; var invitation = new InvitationDTO { Id = 1, Used = true, UserId = 35, invitationKey = "Key", User = deriveduser }; var password = "******"; mediatorMock .Setup(x => x.Send(It.Is <GetInvitationByKeyQuery>(y => y.invitationKey == key), default)) .Returns(Task.FromResult(invitation)); var actionResult = await registerService.Register(user, password, key); Assert.False(actionResult.Suceeded); }
public void InvitationRepository_ListInvitationWithExistingUserId_GetsAnExistingUser() { var invitationRepository = new Mock <IInvitationRepository>(); // Arrange var invitationDto = new InvitationDTO { UserId = 1, invitationKey = "fsdfsdfsdf", Used = false }; invitationRepository .Setup(x => x.FindByUserId(It.Is <int>(i => i != 1))) .Returns((InvitationDTO[])null); // Act var invitation = invitationRepository.Object.FindByUserId(1); // Assert Assert.NotNull(invitation); }