Exemplo n.º 1
0
    public void TestCreateSecretaryGeneralRole()
    {
        var participantAuth = new ConferenceRoleAuth()
        {
            CanEditConferenceSettings = false,
            CanEditParticipations     = false,
            CanSeeApplications        = false,
            Conference   = conference,
            PowerLevel   = 3,
            RoleAuthName = "Teilnehmende"
        };

        _context.ConferenceRoleAuthorizations.Add(participantAuth);

        var sgRole = new ConferenceSecretaryGeneralRole()
        {
            Conference         = conference,
            IconName           = "un",
            ConferenceRoleAuth = participantAuth,
            RoleFullName       = "GeneralsekretärIn",
            RoleName           = "GeneralsekretärIn",
            RoleShort          = "GS",
            Title = "Seine/Ihre Exzellenz der/die GeneralsekretärIn",
        };

        _context.SecretaryGenerals.Add(sgRole);
        _context.SaveChanges();
        Assert.AreEqual(1, _context.SecretaryGenerals.Count());
        Assert.AreEqual(1, conference.Roles.OfType <ConferenceSecretaryGeneralRole>().Count());
    }
Exemplo n.º 2
0
    public void TestGenerateFirstLevelTeam()
    {
        var leaderRole = _context.ConferenceTeamRoles.FirstOrDefault(n => n.Conference == conference &&
                                                                     n.TeamRoleLevel == 1);

        Assert.NotNull(leaderRole);

        var firstLevelAuth = new ConferenceRoleAuth()
        {
            CanEditConferenceSettings = false,
            CanEditParticipations     = false,
            CanSeeApplications        = true,
            Conference   = conference,
            PowerLevel   = 2,
            RoleAuthName = "Erweiterte Projektleitung",
        };

        _context.ConferenceRoleAuthorizations.Add(firstLevelAuth);

        var firstLevelGroup = new TeamRoleGroup()
        {
            FullName           = "Erweiterte Projektleitung",
            GroupLevel         = 2,
            Name               = "Erweiterte Projektleitung",
            TeamRoleGroupShort = "EPL"
        };

        _context.TeamRoleGroups.Add(firstLevelGroup);

        var teamCoordinatorRole = new ConferenceTeamRole()
        {
            Conference         = conference,
            IconName           = "un",
            ParentTeamRole     = leaderRole,
            ConferenceRoleAuth = firstLevelAuth,
            RoleFullName       = "Team- und Materialkoordination",
            RoleName           = "Team- und Materialkoordination",
            RoleShort          = "TMK",
            TeamRoleGroup      = firstLevelGroup,
            TeamRoleLevel      = 2
        };

        var financeManager = new ConferenceTeamRole()
        {
            Conference         = conference,
            IconName           = "un",
            ParentTeamRole     = leaderRole,
            ConferenceRoleAuth = firstLevelAuth,
            RoleFullName       = "Finanzen",
            RoleName           = "Finanzen",
            RoleShort          = "CASH",
            TeamRoleGroup      = firstLevelGroup,
            TeamRoleLevel      = 2
        };

        _context.ConferenceTeamRoles.Add(teamCoordinatorRole);
        _context.ConferenceTeamRoles.Add(financeManager);
        _context.SaveChanges();
        Assert.AreEqual(3, _context.ConferenceTeamRoles.Count(n => n.Conference.ConferenceId == conference.ConferenceId));
    }
Exemplo n.º 3
0
        public int AddBasicAuthorizations()
        {
            var conference = this._dbContext.Conferences.FirstOrDefault(n => n.ConferenceId == _conferenceId);
            var ownerAuth  = new ConferenceRoleAuth()
            {
                Conference = conference,
                CanEditConferenceSettings = true,
                CanEditParticipations     = true,
                CanSeeApplications        = true,
                PowerLevel   = 1,
                RoleAuthName = "Project-Owner"
            };

            _dbContext.ConferenceRoleAuthorizations.Add(ownerAuth);

            var participantControllingTeamAuth = new ConferenceRoleAuth()
            {
                Conference = conference,
                CanEditConferenceSettings = false,
                CanEditParticipations     = true,
                CanSeeApplications        = true,
                PowerLevel   = 2,
                RoleAuthName = "Team (Participant Management)"
            };

            _dbContext.ConferenceRoleAuthorizations.Add(participantControllingTeamAuth);

            var teamAuth = new ConferenceRoleAuth()
            {
                Conference = conference,
                CanEditConferenceSettings = false,
                CanEditParticipations     = false,
                CanSeeApplications        = true,
                RoleAuthName = "Team (Basic)",
                PowerLevel   = 3,
            };

            _dbContext.ConferenceRoleAuthorizations.Add(teamAuth);

            var participantAuth = new ConferenceRoleAuth()
            {
                Conference = conference,
                CanEditConferenceSettings = false,
                RoleAuthName          = "Participant",
                PowerLevel            = 4,
                CanSeeApplications    = false,
                CanEditParticipations = false
            };

            _dbContext.ConferenceRoleAuthorizations.Add(participantAuth);

            return(_dbContext.SaveChanges());
        }
Exemplo n.º 4
0
    public void TestCreateTeamRoleProjectLeader()
    {
        var leaderAuth = new ConferenceRoleAuth()
        {
            Conference = conference,
            CanEditConferenceSettings = true,
            CanEditParticipations     = true,
            CanSeeApplications        = true,
            PowerLevel   = 1,
            RoleAuthName = "Project-Owner"
        };

        _context.ConferenceRoleAuthorizations.Add(leaderAuth);

        var leaderRoleGroup = new TeamRoleGroup()
        {
            FullName           = "die Projektleitung",
            Name               = "Projektleitung",
            TeamRoleGroupShort = "PL",
            GroupLevel         = 1
        };

        _context.TeamRoleGroups.Add(leaderRoleGroup);

        var leaderRole = new ConferenceTeamRole()
        {
            Conference         = conference,
            IconName           = "pl",
            RoleFullName       = "Projektleiter",
            ConferenceRoleAuth = leaderAuth,
            RoleName           = "Projektleiter",
            RoleShort          = "PL",
            TeamRoleGroup      = leaderRoleGroup,
            TeamRoleLevel      = 1,
        };

        _context.ConferenceTeamRoles.Add(leaderRole);
        _context.SaveChanges();

        var leaderRoleCallback = _context.ConferenceTeamRoles.FirstOrDefault();

        Assert.NotNull(leaderRoleCallback);
        Assert.AreEqual(1, _context.ConferenceRoleAuthorizations.Count());
        Assert.AreEqual(1, _context.ConferenceTeamRoles.Count());
        Assert.AreEqual(1, _context.TeamRoleGroups.Count());
        Assert.AreEqual("TeamRole", leaderRoleCallback.RoleType);
    }
Exemplo n.º 5
0
    public ConferenceRoleAuth EnsureParticipantAuth()
    {
        var memberAuth = _context.ConferenceRoleAuthorizations.FirstOrDefault(n => n.RoleAuthName == "Participant");

        if (memberAuth == null)
        {
            memberAuth = new ConferenceRoleAuth()
            {
                Conference = TestConference,
                CanEditConferenceSettings = true,
                CanEditParticipations     = true,
                CanSeeApplications        = true,
                PowerLevel   = 1,
                RoleAuthName = "Participant"
            };
            _context.ConferenceRoleAuthorizations.Add(memberAuth);
            _context.SaveChanges();
        }
        return(memberAuth);
    }
Exemplo n.º 6
0
        private void CreateDefaultConferenceAuths(Conference conference)
        {
            var defaultOwnerAuth = new ConferenceRoleAuth()
            {
                Conference = conference,
                CanEditConferenceSettings = true,
                CanEditParticipations     = true,
                CanSeeApplications        = true,
                PowerLevel   = 1,
                RoleAuthName = "Conference-Admin",
            };

            context.ConferenceRoleAuthorizations.Add(defaultOwnerAuth);

            var defaultTeamMemberAuth = new ConferenceRoleAuth()
            {
                Conference = conference,
                CanEditConferenceSettings = false,
                CanEditParticipations     = false,
                CanSeeApplications        = true,
                PowerLevel   = 2,
                RoleAuthName = "Team-Member"
            };

            context.ConferenceRoleAuthorizations.Add(defaultTeamMemberAuth);

            var defaultParticipantAuth = new ConferenceRoleAuth()
            {
                Conference = conference,
                CanEditConferenceSettings = false,
                CanEditParticipations     = false,
                CanSeeApplications        = false,
                PowerLevel   = 5,
                RoleAuthName = "Participant"
            };

            context.ConferenceRoleAuthorizations.Add(defaultParticipantAuth);
        }