예제 #1
0
        public async Task ShouldGetGroupMembers()
        {
            var group  = new Group("TestGroup#2", fixture.UserId);
            var member = fixture.OrganizationOwnerMembers[fixture.UserId].First();

            group.AddMember(member.Id);

            await fixture.ExecuteDbContext(x =>
            {
                x.Groups.Add(group);
                return(x.SaveChangesAsync());
            });

            var groupId  = group.Id;
            var response = await fixture.RequestSender.GetAsync($"groups/{groupId}/members");

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            var responseJson = await response.Content.ReadAsStringAsync();

            var members = fixture.Deserialize <List <UserDto> >(responseJson);
            var mapper = new OrganizationServiceMapper();
            var memberDtos = new List <AppUser> {
                fixture.TestUser, member
            }.Select(mapper.MapToUserDto);

            members.Should().BeEquivalentTo(memberDtos);
        }
예제 #2
0
        public async Task ShouldGetOrganizationMembers()
        {
            var organizationOwner = fixture.UserId;
            var response          = await fixture.RequestSender.GetAsync("organizations/members");

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            var responseJson = await response.Content.ReadAsStringAsync();

            var members    = fixture.Deserialize <List <UserDto> >(responseJson);
            var mapper     = new OrganizationServiceMapper();
            var memberDtos = fixture.OrganizationOwnerMembers[organizationOwner].Select(mapper.MapToUserDto);

            members.Should().BeEquivalentTo(memberDtos);
        }
예제 #3
0
        public void MapToUserDto_AppUser_ValidDto(bool isTeacher)
        {
            //arrange
            var userId      = 38;
            var username    = "******";
            var email       = "*****@*****.**";
            var user        = AppUser.CreateOrganizationMember(userId, email, username, isTeacher, 3);
            var expectedDto = new UserDto
            {
                Email     = email,
                Id        = userId,
                IsTeacher = isTeacher,
                Username  = username
            };

            //act
            var mapper = new OrganizationServiceMapper();
            var dto    = mapper.MapToUserDto(user);

            //assert
            dto.Should().BeEquivalentTo(expectedDto);
        }
예제 #4
0
        public async Task ShouldGetInvitations()
        {
            var invitations = new List <Invitation>
            {
                new Invitation("*****@*****.**",
                               false,
                               Guid.NewGuid().ToString(),
                               fixture.UserId,
                               new DateTime(2021, 3, 3, 14, 0, 5, DateTimeKind.Utc)),
                new Invitation("*****@*****.**",
                               true,
                               Guid.NewGuid().ToString(),
                               fixture.UserId,
                               new DateTime(2021, 3, 3, 15, 25, 3, DateTimeKind.Utc))
            };

            await fixture.ExecuteDbContext(db =>
            {
                db.Invitations.AddRange(invitations);
                return(db.SaveChangesAsync());
            });

            var mapper       = new OrganizationServiceMapper();
            var expectedDtos = invitations.Select(mapper.MapToInvitationDto);

            var response = await fixture.RequestSender.GetAsync("organizations/invitations");

            response.StatusCode.Should().Be(HttpStatusCode.OK);
            var responseJson = await response.Content.ReadAsStringAsync();

            var retunedInvitationDtos = fixture.Deserialize <InvitationDto[]>(responseJson);

            retunedInvitationDtos.Should().NotBeEmpty();
            foreach (var expectedDto in expectedDtos)
            {
                retunedInvitationDtos.Should().ContainEquivalentOf(expectedDto);
            }
        }
예제 #5
0
        public void MapToInvitationDto_Invitation_ValidDto(bool isTeacher)
        {
            //arrange
            var email       = "*****@*****.**";
            var code        = "12F4567G912342i";
            var date        = DateTime.UtcNow;
            int id          = 8;
            var invitation  = new Invitation(id, email, isTeacher, code, 2, date);
            var expectedDto = new InvitationDto
            {
                Id        = id,
                Email     = email,
                IsTeacher = isTeacher,
                Date      = date
            };

            //act
            var mapper = new OrganizationServiceMapper();
            var dto    = mapper.MapToInvitationDto(invitation);

            //assert
            dto.Should().BeEquivalentTo(expectedDto);
        }
예제 #6
0
 public OrganizationReader(ReadOnlyAppDbContext dbContext, OrganizationServiceMapper organizationMapper)
 {
     this.dbContext          = dbContext;
     this.organizationMapper = organizationMapper;
 }
예제 #7
0
파일: GroupReader.cs 프로젝트: Krztk/KtTest
 public GroupReader(ReadOnlyAppDbContext dbContext, GroupServiceMapper groupMapper, OrganizationServiceMapper organizationMapper)
 {
     this.dbContext          = dbContext;
     this.groupMapper        = groupMapper;
     this.organizationMapper = organizationMapper;
 }