public void LoginAsyncTest_EmptyParam() { // ARRANGE RepositoryAddItem <User, AddParamOfCRUDOperation <User> > repositoryAddItem = new RepositoryAddItem <User, AddParamOfCRUDOperation <User> >(_uow, context); AccountService accountService = new AccountService(_uow, repositoryAddItem); // ACT BaseResultType result = accountService.LoginAllowCheckAsync(new DefaultParamOfCRUDOperation <UserDTO>()).Result; //ASSERT Assert.IsTrue(result.Status == ResultStatus.Fail); }
// [DataRow("123l.ru", "pass", ResultStatus.Fail)] //TODO: Добавить проверку корректности почты public void LoginAsyncTest_CheckUser(string email, string password, ResultStatus resultCheck) { // ARRANGE RepositoryAddItem <User, AddParamOfCRUDOperation <User> > repositoryAddItem = new RepositoryAddItem <User, AddParamOfCRUDOperation <User> >(_uow, context); AccountService accountService = new AccountService(_uow, repositoryAddItem); DefaultParamOfCRUDOperation <UserDTO> userParam = new DefaultParamOfCRUDOperation <UserDTO>(); userParam.Item = new UserDTO(); userParam.Item.Email = email; userParam.Item.Password = password; // ACT BaseResultType result = accountService.LoginAllowCheckAsync(userParam).Result; //ASSERT Assert.IsTrue(result.Status == resultCheck); }
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 AddSubscribeTest() { //ARRANGE RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > repositoryAddItem = new RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context); MemoryCacheRepository <ObjectMappingForTest> cacheTestClass = new MemoryCacheRepository <ObjectMappingForTest>(); HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > processingObjectTestCalss = new HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(repositoryAddItem); FetchDomainData <ObjectMappingForTest> fetchDomainDataTestClass = new FetchDomainData <ObjectMappingForTest>(_uow); //ACT CacheCRUDBLLDecorator <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > processingObjectCacheDecorator = new AddCacheCRUDBLLDecorator <ObjectMappingForTest>(processingObjectTestCalss, cacheTestClass); var resultSave = processingObjectCacheDecorator.Execute(new AddParamOfCRUDOperation <ObjectMappingForTest>() { Item = new ObjectMappingForTest() { IntValue = 22, IntValue2 = 33 } }).Result; ObjectMappingForTest resultFromCache = cacheTestClass.GetByIdAsync(2).Result; ObjectMappingForTest resultFromDB = fetchDomainDataTestClass.GetByIdAsync(2).Result; //ASSERT Assert.IsNotNull(resultFromCache); //В кеше есть данные Assert.AreEqual(resultFromDB.IntValue, resultFromCache.IntValue); //Проверка, что данные добавленные одинаковые Assert.AreEqual(resultFromDB.IntValue2, resultFromCache.IntValue2); //Удаляем для дальнейших тестов resultSave = processingObjectCacheDecorator.Execute(new AddParamOfCRUDOperation <ObjectMappingForTest>() { Item = new ObjectMappingForTest() { Id = 2, IntValue = 22, IntValue2 = 33 } }).Result; Assert.AreEqual(resultSave.Status, ResultStatus.Success); }
public void CheckWorkWithCacheTest() { //ARRANGE RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > repositoryAddItem = new RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context); MemoryCacheRepository <ObjectMappingForTest> cacheTestClass = new MemoryCacheRepository <ObjectMappingForTest>(); HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > processingObjectTestCalss = new HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(repositoryAddItem); FetchDomainData <ObjectMappingForTest> fetchDomainDataTestClass = new FetchDomainData <ObjectMappingForTest>(_uow); //ACT CacheCRUDBLLDecorator <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > processingObjectCacheDecorator = new AddCacheCRUDBLLDecorator <ObjectMappingForTest>(processingObjectTestCalss, cacheTestClass); ObjectMappingForTest resultFromCache = cacheTestClass.GetByIdAsync(1).Result; ObjectMappingForTest resultFromDB = fetchDomainDataTestClass.GetByIdAsync(1).Result; //ASSERT Assert.IsNull(resultFromCache); //В "БД" есть запись, но в кеше нет ее; Assert.IsNotNull(resultFromDB); //В "БД" есть запись }
public void DeleteInCacheAndDataBaseTest() { //ARRANGE RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > repositoryAddItem = new RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context); RepositoryDeleteItem <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> > repositoryDeleteItem = new RepositoryDeleteItem <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context); MemoryCacheRepository <ObjectMappingForTest> cacheTestClass = new MemoryCacheRepository <ObjectMappingForTest>(); HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > processingObjectTestCalss = new HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(repositoryAddItem); HandlerCRUD <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> > processingDeleteObjectTestClass = new HandlerCRUD <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> >(repositoryDeleteItem); FetchDomainData <ObjectMappingForTest> fetchDomainDataTestClass = new FetchDomainData <ObjectMappingForTest>(_uow); //ACT CacheCRUDBLLDecorator <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > processingObjectCacheDecorator = new AddCacheCRUDBLLDecorator <ObjectMappingForTest>(processingObjectTestCalss, cacheTestClass); CacheCRUDBLLDecorator <ObjectMappingForTest, DeleteParamOfCRUDOperation <ObjectMappingForTest> > processingDeleteObjectCacheDecorator = new DeleteCacheCRUDBLLDecorator <ObjectMappingForTest>(processingDeleteObjectTestClass, cacheTestClass); var resultSave = processingObjectCacheDecorator.Execute(new AddParamOfCRUDOperation <ObjectMappingForTest>() { Item = new ObjectMappingForTest() { IntValue = 2222, IntValue2 = 3333 } }).Result; ObjectMappingForTest resultFromCache = cacheTestClass.GetByIdAsync(2).Result; ObjectMappingForTest resultFromDB = fetchDomainDataTestClass.GetByIdAsync(2).Result; //ASSERT Assert.IsNotNull(resultFromCache); //В кеше есть данные Assert.AreEqual(resultFromDB.IntValue, resultFromCache.IntValue); //Проверка, что данные добавленные одинаковые Assert.AreEqual(resultFromDB.IntValue2, resultFromCache.IntValue2); Assert.AreEqual(3333, resultFromDB.IntValue2); //ACT - Удаляем данные resultSave = processingDeleteObjectCacheDecorator.Execute(new DeleteParamOfCRUDOperation <ObjectMappingForTest>() { Item = new ObjectMappingForTest() { Id = 2 } }).Result; resultFromCache = cacheTestClass.GetByIdAsync(3).Result; var exArgumentException = Assert.ThrowsExceptionAsync <ArgumentException>(() => fetchDomainDataTestClass.GetByIdAsync(3)); //ASSERT Assert.IsNull(resultFromCache);//В кеше есть данные }
public void AddLogTest(long?id) { RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > repositoryItem = new RepositoryAddItem <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(_uow, context); CreateContext(); //ARRANGE LogTest logTestClass = new LogTest(); Assert.AreEqual(0, logTestClass.LogItemsCollection.Count);//Пустые логи HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > processingObjectTestCalss = new HandlerCRUD <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(repositoryItem); ObjectMappingForTest item = new ObjectMappingForTest() { IntValue = 22, IntValue2 = 33 }; if (id != null) { item.Id = (long)id; } //ACT LogerCRUDBLLDecoratorDecorator <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> > processingObjectLogDecorator = new LogerCRUDBLLDecoratorDecorator <ObjectMappingForTest, AddParamOfCRUDOperation <ObjectMappingForTest> >(processingObjectTestCalss, logTestClass); BaseResultType <PrepareItemResult <ObjectMappingForTest> > resultSave = processingObjectLogDecorator.Execute(new AddParamOfCRUDOperation <ObjectMappingForTest>() { Item = item }).Result; //ASSERT Assert.AreEqual(ResultStatus.Success, resultSave.Status); Assert.AreEqual(1, logTestClass.GetCount());//Лог добавился }