public async Task ShouldReturnDashboardSummaryResponse()
        {
            var claimsPrincipal = new ClaimsPrincipal();

            var controllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext
                {
                    User = claimsPrincipal
                }
            };

            var expected = new DashboardSummaryResponse();

            var controller = _mock.Create <DashboardController>();

            controller.ControllerContext = controllerContext;

            _mock.Mock <IDashboardService>()
            .Setup(service => service.GetSummaryAsync(controller.User))
            .ReturnsAsync(expected);

            var actual = await controller.GetSummary();

            ContentAssert.AreEqual(expected, actual);
        }
        public async Task ShouldReturnDashboardSummaryResponseForAdmins()
        {
            var tenantId        = Guid.NewGuid();
            var claimsPrincipal = new ClaimsPrincipal();
            var user            = new User()
            {
                SecurityUser = new SecurityUser()
                {
                    TenantId = tenantId,
                    Employee = new Employee()
                },
                Roles = new List <UserRole>()
                {
                    new UserRole()
                    {
                        RoleId = UserRoles.Employee.RoleId
                    },
                    new UserRole()
                    {
                        RoleId = UserRoles.CompanyAdministrator.RoleId
                    },
                },
            };

            var expected = new DashboardSummaryResponse()
            {
                HasOnlyAdminUsers = true
            };

            _mock.Mock <ICurrentUserProvider>()
            .Setup(serice => serice.GetUserAsync(claimsPrincipal))
            .ReturnsAsync(user);

            _mock.Mock <IDashboardItemsService>()
            .Setup(serice => serice.HasOnlyAdminUsers(tenantId))
            .ReturnsAsync(true);

            var actual = await _service.GetSummaryAsync(claimsPrincipal);

            ContentAssert.AreEqual(expected, actual);
        }