protected MeetingTestData CreateMeetingTestData(MeetingTestDataOptions options) { var proposalMemberId = options.CreatorId ?? new MemberId(Guid.NewGuid()); var meetingProposal = MeetingGroupProposal.ProposeNew( "name", "description", MeetingGroupLocation.CreateNew("Warsaw", "PL"), proposalMemberId); meetingProposal.Accept(); var meetingGroup = meetingProposal.CreateMeetingGroup(); meetingGroup.SetExpirationDate(DateTime.Now.AddDays(1)); var meetingTerm = options.MeetingTerm ?? MeetingTerm.CreateNewBetweenDates(DateTime.UtcNow.AddDays(1), DateTime.UtcNow.AddDays(2)); var rsvpTerm = options.RvspTerm ?? Term.NoTerm; var meeting = meetingGroup.CreateMeeting( "title", meetingTerm, "description", MeetingLocation.CreateNew("Name", "Address", "PostalCode", "City"), options.AttendeesLimit, options.GuestsLimit, rsvpTerm, MoneyValue.Undefined, new List <MemberId>(), proposalMemberId); foreach (var attendee in options.Attendees) { meetingGroup.JoinToGroupMember(attendee); meeting.AddAttendee(meetingGroup, attendee, 0); } var meetingCommentingConfiguration = meeting.CreateCommentingConfiguration(); if (options.IsMeetingCommentingEnabled) { meetingCommentingConfiguration.EnableCommenting(proposalMemberId, meetingGroup); } else { meetingCommentingConfiguration.DisableCommenting(proposalMemberId, meetingGroup); } DomainEventsTestHelper.ClearAllDomainEvents(meetingGroup); return(new MeetingTestData(meetingGroup, meeting, meetingCommentingConfiguration)); }
private static MeetingGroup CreateMeetingGroup(MemberId definedProposalMemberId = null) { var proposalMemberId = definedProposalMemberId ?? new MemberId(Guid.NewGuid()); var meetingProposal = MeetingGroupProposal.ProposeNew( "name", "description", new MeetingGroupLocation("Warsaw", "PL"), proposalMemberId); meetingProposal.Accept(); var meetingGroup = meetingProposal.CreateMeetingGroup(); DomainEventsTestHelper.ClearAllDomainEvents(meetingGroup); return(meetingGroup); }
protected UserTestData CreateUserTestData(UserTestDataOptions options) { var usersCounter = Substitute.For <IUsersCounter>(); options.Password ??= "password123"; var userRegistration = UserRegistration.RegisterNewUser( "login", PasswordManager.HashPassword(options.Password), "test@email", options.FirstName, options.LastName, usersCounter); userRegistration.Confirm(); var user = userRegistration.CreateUser(); DomainEventsTestHelper.ClearAllDomainEvents(user); return(new UserTestData(user)); }
public void SetHostRole_WhenSettingMemberIsMeetingHost_IsSuccessful() { var creatorId = new MemberId(Guid.NewGuid()); var meetingTestData = CreateMeetingTestData(new MeetingTestDataOptions { CreatorId = creatorId }); var newOrganizerId = new MemberId(Guid.NewGuid()); var settingMemberId = new MemberId(Guid.NewGuid()); meetingTestData.MeetingGroup.JoinToGroupMember(newOrganizerId); meetingTestData.MeetingGroup.JoinToGroupMember(settingMemberId); meetingTestData.Meeting.AddAttendee(meetingTestData.MeetingGroup, newOrganizerId, 0); meetingTestData.Meeting.AddAttendee(meetingTestData.MeetingGroup, settingMemberId, 0); meetingTestData.Meeting.SetHostRole(meetingTestData.MeetingGroup, creatorId, settingMemberId); DomainEventsTestHelper.ClearAllDomainEvents(meetingTestData.Meeting); meetingTestData.Meeting.SetHostRole(meetingTestData.MeetingGroup, settingMemberId, newOrganizerId); var newMeetingHostSetEvent = AssertPublishedDomainEvent <NewMeetingHostSetDomainEvent>(meetingTestData.Meeting); Assert.That(newMeetingHostSetEvent.HostId, Is.EqualTo(newOrganizerId)); }