< Summary

Class:MUNity.Database.FluentAPI.OrganizationTools
Assembly:MUNity.Database
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityDatabase\FluentAPI\Organization\OrganizationTools.cs
Covered lines:13
Uncovered lines:14
Coverable lines:27
Total lines:49
Line coverage:48.1% (13 of 27)
Covered branches:0
Total branches:2
Branch coverage:0% (0 of 2)
Covered methods:3
Total methods:4
Method coverage:75% (3 of 4)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
get_DbContext()100%1100%
AddOrganization(...)100%1100%
AddMemberIntoRole(...)0%20%
.ctor(...)100%1100%

File(s)

C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityDatabase\FluentAPI\Organization\OrganizationTools.cs

#LineLine coverage
 1using MUNity.Database.Context;
 2using MUNity.Database.Models.Organization;
 3using MUNity.Database.Models.User;
 4using System;
 5using System.Collections.Generic;
 6using System.Linq;
 7using System.Text;
 8using System.Threading.Tasks;
 9
 10namespace MUNity.Database.FluentAPI;
 11
 12public class OrganizationTools
 13{
 2014    public MunityContext DbContext { get; private set; }
 15
 16    public Organization AddOrganization(Action<OrganizationOptionsBuilder> options)
 517    {
 518        var builder = new OrganizationOptionsBuilder(DbContext);
 519        options(builder);
 520        var orga = builder.Organization;
 521        DbContext.Organizations.Add(orga);
 522        DbContext.SaveChanges();
 523        return orga;
 524    }
 25
 26    public OrganizationMember AddMemberIntoRole(OrganizationRole role,
 27        MunityUser user)
 028    {
 029        var membership = DbContext.OrganizationMembers.FirstOrDefault(n => n.User.Id == user.Id &&
 030                                                                      n.Role.OrganizationRoleId ==
 031                                                                      role.OrganizationRoleId);
 032        if (membership != null)
 033            throw new AlreadyMemberException($"The given user {user.UserName} is already inside the role {role.RoleName}
 34
 035        membership = new OrganizationMember();
 036        membership.Role = role;
 037        membership.User = user;
 038        membership.JoinedDate = DateTime.Now;
 39
 040        DbContext.OrganizationMembers.Add(membership);
 041        DbContext.SaveChanges();
 042        return membership;
 043    }
 44
 545    public OrganizationTools(MunityContext context)
 546    {
 547        this.DbContext = context;
 548    }
 49}