Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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());
        }