private Guid MockParticipantsWithOptionsForExport(UserAndOrganizationDto userAndOrg) { var eventId = Guid.NewGuid(); var users = new List <EventParticipantDto> { new EventParticipantDto { FirstName = "Name", LastName = "Surname" } }; var options = new List <EventOptionCountDto> { new EventOptionCountDto { Option = "Option1", Count = 2 }, new EventOptionCountDto { Option = "Option2", Count = 1 } }; _eventParticipationService.GetEventParticipantsAsync(eventId, userAndOrg).Returns(users); _eventUtilitiesService.GetEventChosenOptionsAsync(eventId, userAndOrg).Returns(options); return(eventId); }
public async Task Should_Return_Event_Chosen_Options() { var userAndOrg = new UserAndOrganizationDto { OrganizationId = 2 }; var guid = MockParticipantsWithOptionsForExport(); var options = (await _eventUtilitiesService.GetEventChosenOptionsAsync(guid, userAndOrg)).ToList(); Assert.AreEqual("Option1", options.ToArray()[0].Option); Assert.AreEqual("Option2", options.ToArray()[1].Option); Assert.AreEqual(2, options.ToArray()[0].Count); Assert.AreEqual(1, options.ToArray()[1].Count); Assert.AreEqual(2, options.Count); }
public async Task <byte[]> ExportOptionsAndParticipantsAsync(Guid eventId, UserAndOrganizationDto userAndOrg) { var participants = (await _eventParticipationService.GetEventParticipantsAsync(eventId, userAndOrg)) .Select(x => new List <string> { x.FirstName, x.LastName }); var options = (await _eventUtilitiesService.GetEventChosenOptionsAsync(eventId, userAndOrg)) .Select(x => new List <string> { x.Option, x.Count.ToString() }) .ToList(); AddParticipants(participants); if (options.Any()) { AddOptions(options); } return(_excelBuilder.GenerateByteArray()); }