Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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));
        }