public void should_not_add_existing_endpoint() { var hearing = new VideoHearingBuilder().Build(); var ep = new BookingsApi.Domain.Endpoint("DisplayName", "*****@*****.**", "1111", null); hearing.AddEndpoint(ep); var beforeAddCount = hearing.GetEndpoints().Count; Action action = () => hearing.AddEndpoint(ep); action.Should().Throw <DomainRuleException>().WithMessage("Endpoint already exists in the hearing"); var afterAddCount = hearing.GetEndpoints().Count; afterAddCount.Should().Be(beforeAddCount); }
public void Should_add_new_endpoint() { var hearing = new VideoHearingBuilder().Build(); var beforeAddCount = hearing.GetEndpoints().Count; hearing.AddEndpoint(new BookingsApi.Domain.Endpoint("DisplayName", "*****@*****.**", "1111", null)); var afterAddCount = hearing.GetEndpoints().Count; afterAddCount.Should().BeGreaterThan(beforeAddCount); }
public void should_map_hearing_to_command() { var totalDays = 5; var hearingDay = 2; var hearing = new VideoHearingBuilder().Build(); hearing.AddEndpoint(new Endpoint("Endpoint1", $"{Guid.NewGuid():N}@hmcts.net", "1234", null)); hearing.AddEndpoint(new Endpoint("Endpoint2", $"{Guid.NewGuid():N}@hmcts.net", "2345", hearing.GetParticipants().First(x => x.HearingRole.UserRole.IsRepresentative))); hearing.AddCase("HBS/1234", "Case 1 Test", true); var individualsInHearing = hearing.Participants.Where(x => x.HearingRole.UserRole.IsIndividual).ToList(); individualsInHearing[0].AddLink(individualsInHearing[1].Id, LinkedParticipantType.Interpreter); individualsInHearing[1].AddLink(individualsInHearing[0].Id, LinkedParticipantType.Interpreter); var newDate = hearing.ScheduledDateTime.AddDays(1); var command = CloneHearingToCommandMapper.CloneToCommand(hearing, newDate, _randomGenerator, _sipAddressStem, totalDays, hearingDay); command.HearingRoomName.Should().Be(hearing.HearingRoomName); command.OtherInformation.Should().Be(hearing.OtherInformation); command.CreatedBy.Should().Be(hearing.CreatedBy); command.CaseType.Should().Be(hearing.CaseType); command.HearingType.Should().Be(hearing.HearingType); command.ScheduledDateTime.Should().Be(newDate); command.ScheduledDateTime.Hour.Should().Be(hearing.ScheduledDateTime.Hour); command.ScheduledDateTime.Minute.Should().Be(hearing.ScheduledDateTime.Minute); command.ScheduledDuration.Should().Be(480); command.Venue.Should().Be(hearing.HearingVenue); command.Participants.Count.Should().Be(hearing.GetParticipants().Count); foreach (var newParticipant in command.Participants) { var existingPerson = hearing.GetPersons().SingleOrDefault(x => x.Username == newParticipant.Person.Username); existingPerson.Should().NotBeNull(); var existingPat = hearing.Participants.Single(x => x.Person == existingPerson); newParticipant.DisplayName.Should().Be(existingPat.DisplayName); newParticipant.CaseRole.Should().Be(existingPat.CaseRole); newParticipant.HearingRole.Should().Be(existingPat.HearingRole); if (existingPat.GetType() != typeof(Representative)) { continue; } var rep = (Representative)existingPat; newParticipant.Representee.Should().Be(rep.Representee); } command.Cases.Count.Should().Be(hearing.GetCases().Count); foreach (var @case in command.Cases) { hearing.GetCases().SingleOrDefault(x => x.Number == @case.Number).Should() .NotBeNull(); @case.Name.Should().Contain($"Day {hearingDay} of {totalDays}"); } command.Endpoints.Count.Should().Be(hearing.GetEndpoints().Count); foreach (var ep in command.Endpoints) { hearing.GetEndpoints().SingleOrDefault(x => x.DisplayName == ep.DisplayName && x.DefenceAdvocate?.Person?.Username == ep.DefenceAdvocateUsername).Should().NotBeNull(); } command.QuestionnaireNotRequired.Should().BeTrue(); command.AudioRecordingRequired.Should().Be(hearing.AudioRecordingRequired); }