public async Task RemoveCoOrganizer_WhenUserIsCoOrganizer_ShouldAddUserToStandardParticipants() { // Arrange await AuthenticateAsync(); var userId = await GetUserId(); await AuthenticateAsync(); var eventId = await CreateEvent(); var payload = new AddCoOrganizerDto { UserId = userId }; var payloadString = JsonConvert.SerializeObject(payload); var content = new StringContent(payloadString, Encoding.UTF8, "application/json"); await TestClient.PostAsync($"EventParticipantsOrganizer/{eventId}/coorganizers", content); // Act await TestClient.DeleteAsync($"EventParticipantsOrganizer/{eventId}/coorganizers/{userId}"); // Assert var response = await TestClient.GetAsync($"Event/{eventId}"); var responseBody = await response.Content.ReadAsStringAsync(); var @event = JsonConvert.DeserializeObject <EventDto>(responseBody); @event.Participants .StandardParticipants .SingleOrDefault(x => x.ToString() == eventId) .Should() .NotBe(userId); }
public async Task AddCoOrganizer_WhenUserIsNotOrganizer_ShouldReturnBadRequest() { // Arrange await AuthenticateAsync(); Guid userId = await GetUserId(); await AuthenticateAsync(); string eventId = await CreateEvent(); var newCoorganizerDto = new AddCoOrganizerDto { UserId = userId }; var serializedDto = JsonConvert.SerializeObject(newCoorganizerDto); var content = new StringContent(serializedDto, Encoding.UTF8, "application/json"); await AuthenticateAsync(); // Act var response = await TestClient.PostAsync($"EventParticipantsOrganizer/{eventId}/coorganizers", content); // Arrange response.StatusCode .Should() .BeEquivalentTo(HttpStatusCode.BadRequest); }
public async Task RemoveCoOrganizer_WhenUserIsCoOrganizer_ShouldChangeEventRole() { // Arrange await AuthenticateAsync(); var userId = await GetUserId(); await AuthenticateAsync(); var eventId = await CreateEvent(); var payload = new AddCoOrganizerDto { UserId = userId }; var payloadString = JsonConvert.SerializeObject(payload); var content = new StringContent(payloadString, Encoding.UTF8, "application/json"); await TestClient.PostAsync($"EventParticipantsOrganizer/{eventId}/coorganizers", content); // Act await TestClient.DeleteAsync($"EventParticipantsOrganizer/{eventId}/coorganizers/{userId}"); // Assert var response = await TestClient.GetAsync($"UserActivity/{userId}"); var responseBody = await response.Content.ReadAsStringAsync(); var userActivities = JsonConvert.DeserializeObject <IEnumerable <UserEventActivityDto> >(responseBody); var activity = userActivities.SingleOrDefault(x => x.EventId.ToString() == eventId); activity.Should().NotBeNull(); activity?.Role .Should() .BeEquivalentTo("StandardParticipant"); }
public async Task RemoveCoOrganizer_WhenEventIdIsNotOrganizer_ShouldReturnBadRequest() { // Arrange await AuthenticateAsync(); var coOrganizerId = await GetUserId(); await AuthenticateAsync(); var eventId = await CreateEvent(); var addCoOrganizerDto = new AddCoOrganizerDto { UserId = coOrganizerId }; var payload = JsonConvert.SerializeObject(addCoOrganizerDto); var content = new StringContent(payload, Encoding.UTF8, "application/json"); await TestClient.PostAsync($"EventParticipantsOrganizer/{eventId}/coorganizers", content); await AuthenticateAsync(); // Act var response = await TestClient .DeleteAsync($"EventParticipantsOrganizer/{eventId}/coorganizers/{coOrganizerId}"); // Assert response.StatusCode .Should() .BeEquivalentTo(HttpStatusCode.BadRequest); }
public async Task AddCoOrganizer_WhenUserIsNotRegisteredOnEvent_ShouldAddAsCoOrganizer() { // Arrange RegisterUserDto registerOrganizerDto = new RegisterUserDto { Email = "*****@*****.**", Password = "******" }; await AuthenticateAsync(registerOrganizerDto); string eventId = await CreateEvent(); RegisterUserDto registerParticipantDto = new RegisterUserDto { Email = "*****@*****.**", Password = "******" }; await AuthenticateAsync(registerParticipantDto); Guid userId = await GetUserId(); LoginUserDto loginOrganizerDto = new LoginUserDto { Email = registerOrganizerDto.Email, Password = registerOrganizerDto.Password }; await AuthenticateAsync(loginOrganizerDto); var newCoorganizerDto = new AddCoOrganizerDto { UserId = userId }; var serializedDto = JsonConvert.SerializeObject(newCoorganizerDto); var content = new StringContent(serializedDto, Encoding.UTF8, "application/json"); // Act await TestClient.PostAsync($"EventParticipantsOrganizer/{eventId}/coorganizers", content); // Arrange LoginUserDto loginParticipantDto = new LoginUserDto { Email = registerParticipantDto.Email, Password = registerParticipantDto.Password }; await AuthenticateAsync(loginParticipantDto); var response = await TestClient.GetAsync($"UserActivity/{userId}"); var responseString = await response.Content.ReadAsStringAsync(); var activities = JsonConvert.DeserializeObject <IEnumerable <UserEventActivityDto> >(responseString); var activity = activities.SingleOrDefault(x => x.EventId.ToString() == eventId); activity.Role .Should() .BeEquivalentTo("Co-Organizer"); }
public async Task <IActionResult> AddCoOrganizerAsync([FromRoute] Guid eventId, [FromBody] AddCoOrganizerDto addCoOrganizerDto) { await _eventParticipantsOrganizerService.AddCoOrganizerAsync(eventId, addCoOrganizerDto.UserId, UserId); return(NoContent()); }