Пример #1
0
        public async Task Should_ThrowException_When_UserStatusDisabled()
        {
            // Arrange
            IRepository <User> repository = new Repository <User>(_fixture.Context);
            var user = new User
            {
                UserId    = 5,
                CompanyId = 1,
                UserName  = "******",
                FullName  = "Test User",
                Status    = Domain.Enums.UserStatus.Disabled,
                CreatedAt = DateTime.Now,
                CreatedBy = -1
            };

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

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

            var query = new GetUserQuery(companyId: 1, userId: 5);

            // 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);
            Assert.Equal(ExceptionMessages.ItemNotFound, exception.Message);
        }
Пример #2
0
        public void Test1()
        {
            var fixture = new Fixture().Customize(new AutoMoqCustomization());
            var builder = new DbContextOptionsBuilder <DatabaseContext>()
                          .UseInMemoryDatabase("TempDatabase");

            var context = new DatabaseContext(builder.Options);
            var mapper  = new Mock <IMapper>();
            var userDto = fixture.Create <UserDto>();
            var user    = new User()
            {
                Id = userDto.UserId
            };

            mapper.Setup(x => x.Map <User, UserDto>(It.IsAny <User>()))
            .Returns(userDto);

            context.Users.Add(user);
            context.SaveChanges();

            GetUserHandler handler = new GetUserHandler(context, mapper.Object);
            var            result  = handler.Handle(new GetUser(1), CancellationToken.None).Result;

            Assert.NotNull(result);
            Assert.Equal(result.UserId, user.Id);
        }
Пример #3
0
        private static void GetUserCallbackImpl(IntPtr ptr, Result result, ref User user)
        {
            GCHandle       h        = GCHandle.FromIntPtr(ptr);
            GetUserHandler callback = (GetUserHandler)h.Target;

            h.Free();
            callback(result, ref user);
        }
Пример #4
0
 public UsersController(GetUserHandler getUserHandler, CreateUserHandler createUserHandler, ChangePasswordHandler changePasswordHandler, ResetPasswordStepOneHandler resetPasswordStepOneHandler, ValidateResetPasswordTokenHandler validateResetPasswordTokenHandler, ResetPasswordStepTwoHandler resetPasswordStepTwoHandler,
                        ChangeProfileSettingsHandler changeProfileSettingsHandler)
 {
     _getUserHandler                    = getUserHandler;
     _createUserHandler                 = createUserHandler;
     _changePasswordHandler             = changePasswordHandler;
     _resetPasswordStepOneHandler       = resetPasswordStepOneHandler;
     _validateResetPasswordTokenHandler = validateResetPasswordTokenHandler;
     _resetPasswordStepTwoHandler       = resetPasswordStepTwoHandler;
     _changeProfileSettingsHandler      = changeProfileSettingsHandler;
 }
Пример #5
0
        public GetUserHandlerTests()
        {
            fixture = new Fixture();

            unitOfWork     = Substitute.For <IReadModelUnitOfWork>();
            userRepository = Substitute.For <IReadModelUserRepository>();

            unitOfWork.UserRepository.Returns(userRepository);

            handler = new GetUserHandler(unitOfWork);
        }
Пример #6
0
        public async Task Return_failed_result_when_validation_fails()
        {
            // Arrange
            var validator = Substitute.For <IValidateRequest <GetUser> >();

            validator
            .IsValidAsync(Arg.Any <GetUser>())
            .Returns(Task.FromResult(false));

            var sut = new GetUserHandler(validator, _dbContext);

            // Act
            var result = await sut.Handle(new GetUser("a-sub"), CancellationToken.None);

            // Assert
            result.IsFailure.ShouldBeTrue();
        }
Пример #7
0
        public async Task Should_ReturnUser_When_PassValidUserId()
        {
            // Arrange
            IRepository <User> repository = new Repository <User>(_fixture.Context);

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

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

            // Act
            var tcs = new CancellationToken();

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

            // Assert
            Assert.Equal(1, result.UserId);
            Assert.Equal(1, result.CompanyId);
        }
Пример #8
0
        public async Task Should_ThrowException_When_UserIdDoesNotBelongsToCompany()
        {
            // Arrange
            IRepository <User> repository = new Repository <User>(_fixture.Context);
            var handler = new GetUserHandler(repository, _mapper, _logger);

            var query = new GetUserQuery(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);
            Assert.Equal(ExceptionMessages.ItemNotFound, exception.Message);
        }
        public void SetUp()
        {
            BodyFitTrackerContext bodyFitTrackerContext = DatabaseConnectionFactory.GetInMemoryDatabase(true);

            AppUser appUser = new AppUser("*****@*****.**", "", "", 60, GenderType.Male, MeasurementSystem.Imperial);

            bodyFitTrackerContext.Add(appUser);
            bodyFitTrackerContext.SaveChanges();

            MapperConfiguration mapperConfiguration = new MapperConfiguration(opts =>
            {
                opts.AddProfile(new UsersMappingProfile());
            });
            IMapper mapper = mapperConfiguration.CreateMapper();

            var userAccessorMock = new Mock <IUserAccessor>();

            userAccessorMock.Setup(x => x.GetCurrentUserId()).Returns(appUser.AppUserId);


            _getUserHandler = new GetUserHandler(bodyFitTrackerContext, mapper, userAccessorMock.Object);
        }
Пример #10
0
        /// <summary>
        ///     Get user information for a given id.
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="callback"></param>
        public void GetUser(long userId, GetUserHandler callback)
        {
            GCHandle wrapped = GCHandle.Alloc(callback);

            Methods.GetUser(methodsPtr, userId, GCHandle.ToIntPtr(wrapped), GetUserCallbackImpl);
        }
 public async Task <IActionResult> GetAsync([FromRoute] GetUserCommand command, long id)
 {
     command.Id = id;
     return(GetResponse(await GetUserHandler.ExecuteActionAsync(command)));
 }