public async Task ItCreatesRole() { const string title = "Student"; const string libTitle = "My Fantastic Library"; const string libDescription = "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, libTitle, libDescription); await _fixture.SendAsync(request); // Get all libraries created by that user var librariesRequest1 = new GetLibrariesForUser(user.Id); var libraries1 = (await _fixture.SendAsync(librariesRequest1)).ToArray(); // Get libraryId of that library var libraryId = libraries1.Single().Id; //Create a role for that library var roleRequest = new CreateRole(title, libraryId); await _fixture.SendAsync(roleRequest); //Get roles for selected library var returnRoleRequest = new GetRolesForLibrary(libraryId); var result = await _fixture.SendAsync(returnRoleRequest); //make sure role matches our role title Assert.Contains(title, result.Select(r => r.Title)); }
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 ItDeletesRoleById() { // 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 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; // 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); // Return roles var roleDtos = role.ToList(); // RoleId of role after default (our created role) var roleId = roleDtos.ToList().ElementAt(1).Id; // Delete that role var deleteRoleRequest = new DeleteRoleById(roleId); await _fixture.SendAsync(deleteRoleRequest); // Retrieve remaining roles var getRolesLeftRequest = new GetRolesForLibrary(libraryId); var roleLeft = await _fixture.SendAsync(getRolesLeftRequest); var roleCount = roleLeft.Count(); Assert.Equal(1, roleCount); }
public async Task Should_Get_Roles_For_Library() { // 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 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; // User creates role for that library var createRoleRequest = new CreateRole(roleTitle, libraryId); await _fixture.SendAsync(createRoleRequest); // Retrieve that role var getRoleRequest = new GetRolesForLibrary(libraryId); var role = await _fixture.SendAsync(getRoleRequest); // Check that our role is the only role and that title equals the one returned Assert.Contains(roleTitle, role.Select(r => r.Title)); }