Example #1
0
        public async Task Should_ReturnTeamObject_When_PassValidTeamId()
        {
            // Arrange
            IRepository <Team> repository = new Repository <Team>(_fixture.Context);

            var handler = new GetTeamHandler(repository, _mapper, _logger);

            var query = new GetTeamQuery(teamId: 1, companyId: 1, userId: 1);

            // Act
            var tcs = new CancellationToken();

            var result = await handler.Handle(query, tcs);

            // Assert
            Assert.Equal(1, result.TeamId);
            Assert.Equal(1, result.CompanyId);
            Assert.NotNull(result.TeamMembers);
        }
Example #2
0
        public async Task Should_ThrowException_When_TeamIdDoesNotBelongsToCompany()
        {
            // Arrange
            IRepository <Team> repository = new Repository <Team>(_fixture.Context);
            var handler = new GetTeamHandler(repository, _mapper, _logger);

            var query = new GetTeamQuery(teamId: 1, companyId: 2, userId: 1);

            // Act
            var tcs = new CancellationToken();

            var exception = await Assert.ThrowsAsync <VacationTrackingException>(async() =>
            {
                await handler.Handle(query, tcs);
            });

            // Assert
            Assert.NotNull(exception);
            Assert.Equal(404, exception.Code);
        }
Example #3
0
        public async Task Should_ReturnOnlyActiveMember_When_TeamHasDisabledMember()
        {
            // Arrange
            var user = new User()
            {
                UserName    = "******",
                CompanyId   = 1,
                CreatedAt   = DateTime.Now,
                CreatedBy   = -1,
                AccountType = AccountType.Member,
                Status      = UserStatus.Disabled,
                FullName    = "Test User",
                Email       = "*****@*****.**",
                UserId      = 10
            };
            var teamMember = new TeamMember()
            {
                TeamId     = 1,
                UserId     = 10,
                IsApprover = true,
                IsMember   = false
            };

            _fixture.Context.Users.Add(user);
            _fixture.Context.TeamMembers.Add(teamMember);
            _fixture.Context.SaveChanges();

            IRepository <Team> repository = new Repository <Team>(_fixture.Context);
            var handler = new GetTeamHandler(repository, _mapper, _logger);

            var query = new GetTeamQuery(teamId: 1, companyId: 1, userId: 1);

            // Act
            var tcs = new CancellationToken();

            var result = await handler.Handle(query, tcs);

            // Assert
            Assert.All(result.TeamMembers, item => Assert.NotEqual(10, item.UserId));
        }