Ejemplo n.º 1
0
        private static User Create(Entities.User entity)
        {
            var user = new User(new UserId(entity.Id), entity.FirstName, entity.LastName, entity.CompanyRole, entity.Email);

            if (entity.CompanyId != null)
            {
                user.From(new CompanyId(entity.CompanyId.Value));
            }

            entity.Roles.ForEach(r => user.AddRole(new BuildingId(r.BuildingId), r.UserBuildingRole));

            return(user);
        }
Ejemplo n.º 2
0
        public void Get_Forbid_UserHasNoAccess()
        {
            var buildingId = new BuildingId(12);
            var companyId  = new CompanyId(16);
            var building   = new Domain.Models.Building(buildingId, "name", new Company(companyId, "cName", "cNumber"));

            _buildingRepository.Get(buildingId).Returns(building);

            var user = new User(new UserId(2), "", "", UserCompanyRole.UserAdmin, "");

            user.From(companyId);
            _userSession.User.Returns(user);

            var response = _buildingsController.Get(buildingId.Value);

            Assert.That(response, Is.TypeOf <ForbidResult>());
        }
Ejemplo n.º 3
0
        public void GetCompanies_Ok_BuildingExistsUserHasAccess()
        {
            var buildingId = new BuildingId(12);
            var companyId  = new CompanyId(16);
            var building   = new Domain.Models.Building(buildingId, "name", new Company(companyId, "cName", "cNumber"));

            _buildingRepository.Get(buildingId).Returns(building);

            var user = new User(new UserId(2), "", "", UserCompanyRole.UserAdmin, "");

            user.From(companyId);
            user.AddRole(buildingId, UserBuildingRole.Supervisor);
            _userSession.User.Returns(user);

            var response = _buildingsController.GetCompanies(buildingId.Value);

            Assert.That(response, Is.TypeOf <OkObjectResult>());
        }
Ejemplo n.º 4
0
        public static void Initialize(MainContext context, IBubelSoftUserPassword bubelSoftUserPassword)
        {
            SetUpRepositories(context, bubelSoftUserPassword);

            var companies = new[]
            {
                new Company("Company 1", "123-456-789"),
                new Company("Company 2", "123-456-789")
            };

            foreach (var company in companies)
            {
                _companyRepository.Save(company);
            }

            var buildings = new[]
            {
                new Building("Building 1", companies[0], new [] { companies[1] }),
                new Building("Building 2", companies[1], new List <Company>())
            };

            foreach (var building in buildings)
            {
                _buildingRepository.Save(building);
            }

            var maciek = new User("MacBub", "Bubel", UserCompanyRole.Admin, "*****@*****.**");

            maciek.From(companies[0].Id);
            maciek.AddRole(buildings[0].Id, UserBuildingRole.Admin);
            maciek.AddRole(buildings[0].Id, UserBuildingRole.Reporter);
            _userRepository.Save(maciek, "qwe");

            var kamil = new User("KamBub", "Bubel", UserCompanyRole.Admin, "*****@*****.**");

            kamil.From(companies[1].Id);
            kamil.AddRole(buildings[1].Id, UserBuildingRole.Admin);
            kamil.AddRole(buildings[0].Id, UserBuildingRole.Admin);
            _userRepository.Save(kamil, "qwe");
        }