public async Task Should_ReturnOneMember_When_UserCreatesLibrary() { // Create a test user var userRequest = new CreateUserWithoutAuth("Alice"); var user = await _fixture.SendAsync(userRequest); const string title = "My Fantastic Library"; const string description = "A suitable description."; // User creates library var createLibraryRequest = new CreateLibrary(user.Id, title, description); await _fixture.SendAsync(createLibraryRequest); // Get all libraries created by that user var librariesRequest = new GetLibrariesCreatedByUserId(user.Id); var libraries = await _fixture.SendAsync(librariesRequest); // Check that only one library was returned Assert.Single(libraries); // Check that the created library only has one member, the creator var libraryId = libraries.ToList().ElementAt(0).Id; //Return that member var getMembersRequest = new GetMembersOfLibrary(libraryId); var members = await _fixture.SendAsync(getMembersRequest); Assert.Single(members); //Check that member by id var memberUserId = members.ToList().ElementAt(0).UserId; Assert.Equal(user.Id, memberUserId); }
public async Task It_Updates_A_DisplayName() { const string title = "My Fantastic Library"; const string description = "A suitable description."; // Create a test user (don't think this is needed here) var userRequest = new CreateUserWithoutAuth("Alice"); var user = await _fixture.SendAsync(userRequest); // Create a library with that user var request = new CreateLibrary(user.Id, title, description); await _fixture.SendAsync(request); // Get library created by that user var librariesRequest = new GetLibrariesForUser(user.Id); var library = (await _fixture.SendAsync(librariesRequest)).ToArray(); var libraryId = library.Single().Id; //Return that member var getMemberRequest = new GetMembersOfLibrary(libraryId); var member = await _fixture.SendAsync(getMemberRequest); //Update name from Alice to Bob var updateDisplayNameRequest = new UpdateDisplayName(member.Single().Id, "Bob"); await _fixture.SendAsync(updateDisplayNameRequest); //Return same member with changed display name var getMemberRequest1 = new GetMembersOfLibrary(member.Single().Id); var member1 = await _fixture.SendAsync(getMemberRequest1); //Bob should be new name Assert.Equal("Bob", member1.Single().DisplayName); }
public async Task ItUpdatesRoleOfMember() { // Create a test user var userRequest = new CreateUserWithoutAuth("Alice"); var user = await _fixture.SendAsync(userRequest); const string title = "My Fantastic Library"; const string roleTitle = "Student"; const string newDisplayName = "Some guy"; const string description = "A suitable description."; // User creates library var createLibraryRequest = new CreateLibrary(user.Id, title, description); await _fixture.SendAsync(createLibraryRequest); // Get libraries just created by user var getLibrariesRequest = new GetLibrariesForUser(user.Id); var libraries = await _fixture.SendAsync(getLibrariesRequest); // Make sure there's only one library var libraryDtos = libraries.ToList(); Assert.Single(libraryDtos); // Get id of the single library var libraryId = libraryDtos.ToList().ElementAt(0).Id; // Return member var getMembersRequest = new GetMembersOfLibrary(libraryId); var members = await _fixture.SendAsync(getMembersRequest); // Get that member's id var memberUserId = members.ToList().ElementAt(0).Id; // User creates role for that library var createRoleRequest = new CreateRole(roleTitle, libraryId); await _fixture.SendAsync(createRoleRequest); // Retrieve roles var getRoleRequest = new GetRolesForLibrary(libraryId); var role = await _fixture.SendAsync(getRoleRequest); // Make sure 1 role returned //var roleDtos = role.ToList(); // RoleId of role after default (our created role) var roleId = role.ToList().ElementAt(1).Id; // Update that role var newRoleRequest = new UpdateRoleOfMember(memberUserId, roleId, newDisplayName); await _fixture.SendAsync(newRoleRequest); // Retrieve that member var getMemberRequest = new GetRoleForMember(memberUserId); var updatedRole = await _fixture.SendAsync(getMemberRequest); // Make sure the role was updated Assert.Equal(roleId, updatedRole.Id); }
public async Task ShouldGetRolesForMembers() { // Create a test user var userRequest = new CreateUserWithoutAuth("Alice"); var user = await _fixture.SendAsync(userRequest); const string title = "My Fantastic Library"; const string description = "A suitable description."; // User creates library var createLibraryRequest = new CreateLibrary(user.Id, title, description); await _fixture.SendAsync(createLibraryRequest); // Get libraries just created by user var getLibrariesRequest = new GetLibrariesForUser(user.Id); var libraries = await _fixture.SendAsync(getLibrariesRequest); // Make sure there's only one library var libraryDtos = libraries.ToList(); Assert.Single(libraryDtos); // Get id of the single library var libraryId = libraryDtos.ToList().ElementAt(0).Id; // Return member var getMembersRequest = new GetMembersOfLibrary(libraryId); var members = await _fixture.SendAsync(getMembersRequest); // Get that member's id var memberId = members.ToList().ElementAt(0).Id; // Put membership Id's into list var memberIds = new List <int>(); memberIds.Add(memberId); // Retrieve roles from list var getRolesForMembersRequest = new GetRolesForMembers(memberIds); var memberRolesReturn = await _fixture.SendAsync(getRolesForMembersRequest); // Check to make sure roles returned from list Assert.Contains("Instructor", memberRolesReturn.Single().Value.Title); }
public async Task ItDeletesLibraryMember() { const string title = "My Fantastic Library"; const string description = "A suitable description."; // Create a test user var userRequest = new CreateUserWithoutAuth("Alice"); var user = await _fixture.SendAsync(userRequest); // Create a library with that user var request = new CreateLibrary(user.Id, title, description); await _fixture.SendAsync(request); // Get all libraries created by that user var librariesRequest = new GetLibrariesCreatedByUserId(user.Id); var libraries = (await _fixture.SendAsync(librariesRequest)).ToArray(); //get single library from that user var library = libraries.Single(); //get id for user var membershipRequest = new GetMembersOfLibrary(library.Id); var memberShip = await _fixture.SendAsync(membershipRequest); //delete user from library var deleteMemberRequest = new DeleteMemberOfLibrary(memberShip.Single().Id); await _fixture.SendAsync(deleteMemberRequest); //get members of library (should be 0) var memberRequest = new GetMembersOfLibrary(library.Id); var currentMembers = await _fixture.SendAsync(memberRequest); var member = currentMembers.Count(); Assert.Equal(0, member); }