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); }
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); }
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); }
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); } }
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); }
public OrganizationReader(ReadOnlyAppDbContext dbContext, OrganizationServiceMapper organizationMapper) { this.dbContext = dbContext; this.organizationMapper = organizationMapper; }
public GroupReader(ReadOnlyAppDbContext dbContext, GroupServiceMapper groupMapper, OrganizationServiceMapper organizationMapper) { this.dbContext = dbContext; this.groupMapper = groupMapper; this.organizationMapper = organizationMapper; }