public async Task FindByIdAsync_MakesCorrectCallsAndReturnsCorrectObject() { // Arrange var expectedPrimaryKeyId = 1; var expectedTodoDTO = new TodoDTO() { Id = expectedPrimaryKeyId, Name = "Test Todo", IsComplete = true }; var todo = new Todo(); var mockedRepository = new Mock <ITodosRepository>(); var mockedMapper = new Mock <IMapper>(); mockedRepository.Setup(r => r.FindByIdAsync(expectedPrimaryKeyId)).ReturnsAsync(todo); mockedMapper.Setup(m => m.Map <Todo, TodoDTO>(todo)).Returns(expectedTodoDTO); var service = new TodosService(mockedMapper.Object, mockedRepository.Object); // Action var actualTodoDTO = await service.FindByIdAsync(expectedPrimaryKeyId); // Assert Assert.NotNull(actualTodoDTO); Assert.Equal(expectedTodoDTO, actualTodoDTO); mockedRepository.Verify(r => r.FindByIdAsync(expectedPrimaryKeyId), Times.Once()); mockedMapper.Verify(m => m.Map <Todo, TodoDTO>(todo), Times.Once()); }
public async Task CreateTodoAsync_MakesCorrectCallsAndReturnsUpdatedTodoWithId() { // Arrange var expectedCreatedTodoDTO = new CreatedTodoDTO() { Name = "Test Todo", IsComplete = true }; var expectedTodoDTO = new TodoDTO() { Name = expectedCreatedTodoDTO.Name, IsComplete = expectedCreatedTodoDTO.IsComplete.Value }; var expectedPrimaryKeyId = 1; var todo = new Todo(); var mockedMapper = new Mock <IMapper>(); var mockedRepository = new Mock <ITodosRepository>(); mockedMapper.Setup(m => m.Map <CreatedTodoDTO, Todo>(expectedCreatedTodoDTO)).Returns(todo); mockedMapper.Setup(m => m.Map <CreatedTodoDTO, TodoDTO>(expectedCreatedTodoDTO)).Returns(expectedTodoDTO); mockedRepository.Setup(r => r.CreateTodoAsync(todo)).ReturnsAsync(expectedPrimaryKeyId); var service = new TodosService(mockedMapper.Object, mockedRepository.Object); // Action var actualTodoDTO = await service.CreateTodoAsync(expectedCreatedTodoDTO); // Assert Assert.NotNull(actualTodoDTO); Assert.Equal(expectedPrimaryKeyId, actualTodoDTO.Id); Assert.Equal(expectedTodoDTO.Name, actualTodoDTO.Name); Assert.Equal(expectedTodoDTO.IsComplete, actualTodoDTO.IsComplete); mockedMapper.Verify(m => m.Map <CreatedTodoDTO, Todo>(expectedCreatedTodoDTO), Times.Once()); mockedMapper.Verify(m => m.Map <CreatedTodoDTO, TodoDTO>(expectedCreatedTodoDTO), Times.Once()); mockedRepository.Verify(r => r.CreateTodoAsync(todo), Times.Once()); }
private void init() { mockLogger = new Mock <ILogger <TodosController> >(); mockServiceLogger = new Mock <ILogger <TodosService> >(); service = new TodosService(mockRepo.Object, mockServiceLogger.Object); mockMapper = new Mock <IMapper>(); //var mappings = new MapperConfigurationExpression(); //mappings.AddProfile<DomainProfile>(); //Mapper.Initialize(mappings); Mapper.Initialize(cfg => { cfg.CreateMap <Todo, TodoView>(); cfg.CreateMap <TodoCategory, TodoCategoryView>(); cfg.CreateMap <TodoView, Todo>(); cfg.CreateMap <TodoCategoryView, TodoCategory>(); }); controller = new TodosController(mockMapper.Object, service, mockLogger.Object); TodoCategory category = new TodoCategory(1, "Bevásárlás", 127); TodoCategory category1 = new TodoCategory(2, "Teendõk", 156565); testTodos.Add(new Todo(1, "Korte", category)); testTodos.Add(new Todo(2, "Szilva", category)); testTodos.Add(new Todo(3, "Kitakarítani", category1)); testTodos.ElementAt(0).Archived = true; }
public async Task GetAllTodosAsync_MakesCorrectCallsAndReturnsCorrectObject() { // Arrange var expectedTodoDTOs = new List <TodoDTO>() { new TodoDTO() { Id = 1, Name = "Test Todo", IsComplete = true } }; var mockedRepository = new Mock <ITodosRepository>(); var mockedMapper = new Mock <IMapper>(); mockedRepository.Setup(r => r.GetAllTodosAsync()).ReturnsAsync(It.IsAny <IEnumerable <Todo> >()); mockedMapper.Setup(m => m.Map <IEnumerable <Todo>, IEnumerable <TodoDTO> >(It.IsAny <IEnumerable <Todo> >())).Returns(expectedTodoDTOs); var service = new TodosService(mockedMapper.Object, mockedRepository.Object); // Action var actualTodoDTOs = await service.GetAllTodosAsync(); // Assert Assert.NotNull(actualTodoDTOs); Assert.Single(actualTodoDTOs); Assert.Equal(expectedTodoDTOs, actualTodoDTOs); Assert.Equal(expectedTodoDTOs[0].Id, actualTodoDTOs.ToList()[0].Id); Assert.Equal(expectedTodoDTOs[0].Name, actualTodoDTOs.ToList()[0].Name); Assert.Equal(expectedTodoDTOs[0].IsComplete, actualTodoDTOs.ToList()[0].IsComplete); mockedRepository.Verify(r => r.GetAllTodosAsync(), Times.Once()); mockedMapper.Verify(m => m.Map <IEnumerable <Todo>, IEnumerable <TodoDTO> >(It.IsAny <IEnumerable <Todo> >()), Times.Once()); }
public async Task UpdateTodoAsync_MakesCorrectCalls() { // Arrange var todoDTO = new UpdatedTodoDTO() { Id = 1, Name = "Updated Todo", IsComplete = true }; var todo = new Todo() { Id = 1, Name = "Updated Todo", IsComplete = true }; var mockedMapper = new Mock <IMapper>(); var mockedRepository = new Mock <ITodosRepository>(); mockedMapper.Setup(m => m.Map <UpdatedTodoDTO, Todo>(todoDTO)).Returns(todo); mockedRepository.Setup(r => r.UpdateTodoAsync(todo)); var service = new TodosService(mockedMapper.Object, mockedRepository.Object); // Action await service.UpdateTodoAsync(todoDTO); // Assert mockedMapper.Verify(m => m.Map <UpdatedTodoDTO, Todo>(todoDTO), Times.Once()); mockedRepository.Verify(r => r.UpdateTodoAsync(todo), Times.Once()); }
public TodosController(TodosService TodosService, IMapper mapper, ILogger <TodosController> logger) { this.todosService = TodosService; this.mapper = mapper; this.logger = logger; }
public async Task GetTodos2() { var optionsBuilder = new DbContextOptionsBuilder <TodosDbContext>() .UseSqlServer(CreateInMemoryDatabase()); TodosDbContext TodosContext = new TodosDbContext(optionsBuilder.Options); TodosService todosService = new TodosService(TodosContext); var obj = await todosService.GetTodo(1); Assert.IsNull(obj); }
public async Task UpdateTodoAsync_RecordNotFoundExceptionThrown_ThrowsTodoNotFoundException() { // Arrange var todoDTO = new UpdatedTodoDTO(); var mockedMapper = new Mock <IMapper>(); var mockedRepository = new Mock <ITodosRepository>(); mockedRepository.Setup(r => r.UpdateTodoAsync(It.IsAny <Todo>())).Throws <RecordNotFoundException>(); var service = new TodosService(mockedMapper.Object, mockedRepository.Object); // Action and Assert await Assert.ThrowsAsync <TodoNotFoundException>(async() => { await service.UpdateTodoAsync(todoDTO); }); }
public async Task DeleteTodoByIdAsync_MakesCorrectCalls() { // Arrange var expectedPrimaryKeyId = 1; var mockedMapper = new Mock <IMapper>(); var mockedRepository = new Mock <ITodosRepository>(); mockedRepository.Setup(r => r.DeleteTodoByIdAsync(expectedPrimaryKeyId)); var service = new TodosService(mockedMapper.Object, mockedRepository.Object); // Action await service.DeleteTodoByIdAsync(expectedPrimaryKeyId); // Assert mockedRepository.Verify(r => r.DeleteTodoByIdAsync(expectedPrimaryKeyId), Times.Once()); }
public async Task UpdateTodoAsync_ConcurrentAccessExceptionAndItemDoesNotExist_ThrowsTodoNotFoundException() { // Arrange var todoDTO = new UpdatedTodoDTO() { Id = 1 }; var mockedMapper = new Mock <IMapper>(); var mockedRepository = new Mock <ITodosRepository>(); mockedRepository.Setup(r => r.UpdateTodoAsync(It.IsAny <Todo>())).Throws <ConcurrentAccessException>(); mockedRepository.Setup(r => r.Exists(It.IsAny <long>())).ReturnsAsync(false); var service = new TodosService(mockedMapper.Object, mockedRepository.Object); // Action and Assert await Assert.ThrowsAsync <TodoNotFoundException>(async() => { await service.UpdateTodoAsync(todoDTO); }); }
public TodosController(TodosService todosService) : base() { todos = todosService; }
public TodosController(TodosService service) { _service = service; }
public TodosController(TodosService todosService) { this.todosService = todosService; }
public TodosController(TodosService todosService) { _todosService = todosService; }
//------------------------------------------------------------------------------------------------------------------------- // Get Profile (ie initial DataSet) of user, authenticated or not DataSet IUserProfile.GetUserProfile() { // Get current user AspectizeUser aspectizeUser = ExecutingContext.CurrentUser; if (aspectizeUser.IsAuthenticated) { IEntityManager em = EntityManager.FromDataSet(DataSetHelper.Create()); // Initialise l'utilisateur connecté var user = em.CreateInstance <User>(); user.IsAuthentificated = true; user.Name = (string)aspectizeUser[CUserTimosWebApp.c_champUserName]; user.Login = (string)aspectizeUser[CUserTimosWebApp.c_champUserLogin]; user.TimosKey = (string)aspectizeUser[CUserTimosWebApp.c_champUserKey]; user.TimosSessionId = (int)aspectizeUser[CUserTimosWebApp.c_champSessionId]; user.IsAdministrator = (bool)aspectizeUser[CUserTimosWebApp.c_champIsAdministrator]; // Instancie les To do de l'utilisateur en cours ITimosServiceForAspectize serviceClientAspectize = (ITimosServiceForAspectize)C2iFactory.GetNewObject(typeof(ITimosServiceForAspectize)); CResultAErreur result = serviceClientAspectize.GetTodosForUser(user.TimosSessionId, user.TimosKey); if (result && result.Data != null) { DataSet ds = result.Data as DataSet; if (ds != null && ds.Tables.Contains(CTodoTimosWebApp.c_nomTable)) { DataTable dt = ds.Tables[CTodoTimosWebApp.c_nomTable]; foreach (DataRow row in dt.Rows) { var todo = em.CreateInstance <Todos>(); todo.TimosId = (int)row[CTodoTimosWebApp.c_champId]; todo.Label = (string)row[CTodoTimosWebApp.c_champLibelle]; todo.StartDate = (DateTime)row[CTodoTimosWebApp.c_champDateDebut]; todo.Instructions = (string)row[CTodoTimosWebApp.c_champInstructions]; todo.ElementType = (string)row[CTodoTimosWebApp.c_champTypeElementEdite]; todo.ElementId = (int)row[CTodoTimosWebApp.c_champIdElementEdite]; todo.ElementDescription = (string)row[CTodoTimosWebApp.c_champElementDescription]; todo.DureeStandard = (int)row[CTodoTimosWebApp.c_champDureeStandard]; int nEtat = (int)row[CTodoTimosWebApp.c_champEtatTodo]; todo.EtatTodo = (EtatTodo)nEtat; if (row[CTodoTimosWebApp.c_champDateFin] == DBNull.Value) { todo.EndDate = null; } else { todo.EndDate = (DateTime)row[CTodoTimosWebApp.c_champDateFin]; } } } } // Récupère la liste des Actions globales disponibles pour cet utilisateur try { result = serviceClientAspectize.GetActionsForUser(user.TimosSessionId, user.TimosKey); if (!result) { throw new SmartException(1010, "Erreur GetExportsForUser(nTimosSessionId = " + user.TimosSessionId + ", keyUser = "******")" + Environment.NewLine + result.MessageErreur); } if (result && result.Data != null) { DataSet ds = result.Data as DataSet; if (ds != null && ds.Tables.Contains(CActionWeb.c_nomTable)) { DataTable dt = ds.Tables[CActionWeb.c_nomTable]; foreach (DataRow row in dt.Rows) { var action = em.CreateInstance <Action>(); action.Id = (int)row[CActionWeb.c_champId]; action.Libelle = (string)row[CActionWeb.c_champLibelle]; action.Instructions = (string)row[CActionWeb.c_champInstructions]; action.IsGlobale = (bool)row[CActionWeb.c_champIsGlobale]; action.HasForm = (bool)row[CActionWeb.c_champHasForm]; // Variables Texte action.IDT1 = (string)row[CActionWeb.c_champIdVarText1]; action.IDT2 = (string)row[CActionWeb.c_champIdVarText2]; action.IDT3 = (string)row[CActionWeb.c_champIdVarText3]; action.IDT4 = (string)row[CActionWeb.c_champIdVarText4]; action.IDT5 = (string)row[CActionWeb.c_champIdVarText5]; action.IDT6 = (string)row[CActionWeb.c_champIdVarText6]; action.IDT7 = (string)row[CActionWeb.c_champIdVarText7]; action.IDT8 = (string)row[CActionWeb.c_champIdVarText8]; action.IDT9 = (string)row[CActionWeb.c_champIdVarText9]; action.LBLT1 = (string)row[CActionWeb.c_champLabelVarText1]; action.LBLT2 = (string)row[CActionWeb.c_champLabelVarText2]; action.LBLT3 = (string)row[CActionWeb.c_champLabelVarText3]; action.LBLT4 = (string)row[CActionWeb.c_champLabelVarText4]; action.LBLT5 = (string)row[CActionWeb.c_champLabelVarText5]; action.LBLT6 = (string)row[CActionWeb.c_champLabelVarText6]; action.LBLT7 = (string)row[CActionWeb.c_champLabelVarText7]; action.LBLT8 = (string)row[CActionWeb.c_champLabelVarText8]; action.LBLT9 = (string)row[CActionWeb.c_champLabelVarText9]; string strValeursVarText1 = (string)row[CActionWeb.c_champValeursVarText1]; string strValeursVarText2 = (string)row[CActionWeb.c_champValeursVarText2]; string strValeursVarText3 = (string)row[CActionWeb.c_champValeursVarText3]; string strValeursVarText4 = (string)row[CActionWeb.c_champValeursVarText4]; string strValeursVarText5 = (string)row[CActionWeb.c_champValeursVarText5]; string strValeursVarText6 = (string)row[CActionWeb.c_champValeursVarText6]; string strValeursVarText7 = (string)row[CActionWeb.c_champValeursVarText7]; string strValeursVarText8 = (string)row[CActionWeb.c_champValeursVarText8]; string strValeursVarText9 = (string)row[CActionWeb.c_champValeursVarText9]; TodosService.FillValeursVariableForAction(em, action, strValeursVarText1, "T1"); TodosService.FillValeursVariableForAction(em, action, strValeursVarText2, "T2"); TodosService.FillValeursVariableForAction(em, action, strValeursVarText3, "T3"); TodosService.FillValeursVariableForAction(em, action, strValeursVarText4, "T4"); TodosService.FillValeursVariableForAction(em, action, strValeursVarText5, "T5"); TodosService.FillValeursVariableForAction(em, action, strValeursVarText6, "T6"); TodosService.FillValeursVariableForAction(em, action, strValeursVarText7, "T7"); TodosService.FillValeursVariableForAction(em, action, strValeursVarText8, "T8"); TodosService.FillValeursVariableForAction(em, action, strValeursVarText9, "T9"); // Variables Int action.IDN1 = (string)row[CActionWeb.c_champIdVarInt1]; action.IDN2 = (string)row[CActionWeb.c_champIdVarInt2]; action.IDN3 = (string)row[CActionWeb.c_champIdVarInt3]; action.LBLN1 = (string)row[CActionWeb.c_champLabelVarInt1]; action.LBLN2 = (string)row[CActionWeb.c_champLabelVarInt2]; action.LBLN3 = (string)row[CActionWeb.c_champLabelVarInt3]; string strValeursVarInt1 = (string)row[CActionWeb.c_champValeursVarInt1]; string strValeursVarInt2 = (string)row[CActionWeb.c_champValeursVarInt2]; string strValeursVarInt3 = (string)row[CActionWeb.c_champValeursVarInt3]; TodosService.FillValeursVariableForAction(em, action, strValeursVarInt1, "N1"); TodosService.FillValeursVariableForAction(em, action, strValeursVarInt2, "N2"); TodosService.FillValeursVariableForAction(em, action, strValeursVarInt3, "N3"); // Variables Date action.IDD1 = (string)row[CActionWeb.c_champIdVarDate1]; action.IDD2 = (string)row[CActionWeb.c_champIdVarDate2]; action.IDD3 = (string)row[CActionWeb.c_champIdVarDate3]; action.LBLD1 = (string)row[CActionWeb.c_champLabelVarDate1]; action.LBLD2 = (string)row[CActionWeb.c_champLabelVarDate2]; action.LBLD3 = (string)row[CActionWeb.c_champLabelVarDate3]; // Variables Bool action.IDB1 = (string)row[CActionWeb.c_champIdVarBool1]; action.IDB2 = (string)row[CActionWeb.c_champIdVarBool2]; action.IDB3 = (string)row[CActionWeb.c_champIdVarBool3]; action.LBLB1 = (string)row[CActionWeb.c_champLabelVarBool1]; action.LBLB2 = (string)row[CActionWeb.c_champLabelVarBool2]; action.LBLB3 = (string)row[CActionWeb.c_champLabelVarBool3]; } } em.Data.AcceptChanges(); return(em.Data); } } catch (Exception ex) { throw new SmartException(1010, "Erreur GetExportsForUser(nTimosSessionId = " + user.TimosSessionId + ", keyUser = "******")" + Environment.NewLine + result.MessageErreur); } em.Data.AcceptChanges(); return(em.Data); } // No profile for unanthenticated user return(null); }
public TodosController(TodosService tdService, GoalsService goalsService) { _tdService = tdService; _goalsService = goalsService; }
public TodosController(TodosService cservice) { _cservice = cservice; }