public void GetItem_Test(int userIdContext, int?userIdInItem, int resultUserId)
        {
            //ARRANGE
            Mock <IHandlerCRUD <DomainObjectIdentityForTest, AddParamOfCRUDOperation <DomainObjectIdentityForTest> > > mockPrepareItem = new Mock <IHandlerCRUD <DomainObjectIdentityForTest, AddParamOfCRUDOperation <DomainObjectIdentityForTest> > >();

            mockPrepareItem.Setup(x => x.Execute(It.IsAny <AddParamOfCRUDOperation <DomainObjectIdentityForTest> >()));

            Mock <IUserContext> mockUserContext = new Mock <IUserContext>();

            mockUserContext.Setup(x => x.GetUserId()).Returns(userIdContext);

            UserIdentityHandlerCRUD <DomainObjectIdentityForTest, AddParamOfCRUDOperation <DomainObjectIdentityForTest> > userIdentityPrepareItemForCRUDStrategyDecorator = new UserIdentityHandlerCRUD <DomainObjectIdentityForTest, AddParamOfCRUDOperation <DomainObjectIdentityForTest> >(mockPrepareItem.Object, mockUserContext.Object);

            AddParamOfCRUDOperation <DomainObjectIdentityForTest> item = new AddParamOfCRUDOperation <DomainObjectIdentityForTest>()
            {
                Item = new DomainObjectIdentityForTest()
                {
                    UserId = userIdInItem
                }
            };

            //ACT
            var result = userIdentityPrepareItemForCRUDStrategyDecorator.Execute(item).Result;

            //ASSERT

            Assert.AreEqual(resultUserId, item.Item.UserId);
        }
        //   [ValidateAntiForgeryToken]
        public async Task <IActionResult> Registration(AddParamOfCRUDOperation <UserDTO> param)
        {
            BaseResultType result = await _accountService.RegisterAsync(param);

            if (result.Status == ResultStatus.Success)
            {
                await Authenticate(param.Item); // аутентификация
            }

            return(Json(result));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Регистрация пользователя
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="param"></param>
        /// <returns></returns>
        public Task <BaseResultType <PrepareItemResult <User> > > RegisterAsync(AddParamOfCRUDOperation <UserDTO> param)
        {
            AddParamOfCRUDOperation <User> paramUser = new AddParamOfCRUDOperation <User>();

            paramUser.Item = new User()
            {
                Email    = param?.Item?.Email,
                Password = param?.Item?.Password
            };
            return(_userHandlerAdd.Execute(paramUser));
        }
        public void RegisterAsyncTest()
        {
            // ARRANGE
            RepositoryAddItem <User, AddParamOfCRUDOperation <User> > repositoryAddItem = new RepositoryAddItem <User, AddParamOfCRUDOperation <User> >(_uow, context);
            AccountService accountService = new AccountService(_uow, repositoryAddItem);
            AddParamOfCRUDOperation <UserDTO> userParam = new AddParamOfCRUDOperation <UserDTO>();

            userParam.Item          = new UserDTO();
            userParam.Item.Email    = "*****@*****.**";
            userParam.Item.Password = "******";
            int countUsersInDB = context.Users.CountAsync().Result;

            // ACT
            BaseResultType result = accountService.RegisterAsync(userParam).Result;

            //ASSERT
            Assert.IsTrue(result.Status == ResultStatus.Success);
            Assert.IsTrue(context.Users.CountAsync().Result == countUsersInDB + 1);
        }
        public void AddTest()
        {
            CreateContext();
            DefaultController <ObjectMappingForTest> defaultController = new DefaultController <ObjectMappingForTest>(new FakeLogger(),
                                                                                                                      new FetchDomainData <ObjectMappingForTest>(_uow),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, EditParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryEditItem <ObjectMappingForTest, EditParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)),
                                                                                                                      new HandlerCRUD <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(new RepositoryDeleteItem <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context)));

            AddParamOfCRUDOperation <ObjectMappingForTest> paramQueryAdd = new AddParamOfCRUDOperation <ObjectMappingForTest>();

            paramQueryAdd.Item = new ObjectMappingForTest()
            {
                IntValue = 1, IntValue2 = 1, StrValue = "1"
            };
            JsonResult resultAdd = defaultController.Add(paramQueryAdd).Result;
            BaseResultType <PrepareItemResult <ObjectMappingForTest> > resultSuccessQuery = ((BaseResultType <PrepareItemResult <ObjectMappingForTest> >)resultAdd.Value);

            Assert.AreEqual(ResultStatus.Success, resultSuccessQuery.Status);
            Assert.IsNotNull(resultSuccessQuery.Data);

            Assert.IsInstanceOfType(resultSuccessQuery.Data, typeof(PrepareItemResult <ObjectMappingForTest>), "Вернулся тип объекта не ObjectMappingForTest после сохранения этого объекта.");
            Assert.AreEqual(1, ((ObjectMappingForTest)resultSuccessQuery.Data.Item).IntValue);
            Assert.AreEqual(1, ((ObjectMappingForTest)resultSuccessQuery.Data.Item).IntValue2);
            Assert.AreEqual("1", ((ObjectMappingForTest)resultSuccessQuery.Data.Item).StrValue);
            Assert.AreEqual(4, ((ObjectMappingForTest)resultSuccessQuery.Data.Item).Id);

            //Проверка запроса из БД, что запись добавилась
            JsonResult result = defaultController.GetAsync(new FetchDataParameters()
            {
                CountOnPage = 10, PageNumber = 1
            }).Result;
            BaseResultType <ResultFetchData <ObjectMappingForTest> > fetchDataResultQuery = (BaseResultType <ResultFetchData <ObjectMappingForTest> >)result.Value;

            Assert.AreEqual(ResultStatus.Success, fetchDataResultQuery.Status);
            Assert.AreEqual(4, fetchDataResultQuery.Data.TotalCountRows);
        }
        public async override Task <BaseResultType <PrepareItemResult <TEntity> > > Execute(AddParamOfCRUDOperation <TEntity> paramOfCRUDOperation)
        {
            BaseResultType <PrepareItemResult <TEntity> > result = await _handlerCRUD.Execute(paramOfCRUDOperation);

            if (result.Status == ResultStatus.Success)
            {
                await _cache.AddAsync(result.Data.Item);
            }

            return(result);
        }
 public System.Threading.Tasks.Task <BaseResultType <PrepareItemResult <ObjectMappingForTest> > > Execute(AddParamOfCRUDOperation <ObjectMappingForTest> paramOfCRUDOperation)
 {
     throw new NotImplementedException("Для проверки ошибки подготовки в БЛЛ");
 }