Exemple #1
0
        public void GetInitiativeAsyncReturnsOk()
        {
            // Arrange
            var initiative = new InitiativeForCreate
            {
                Year = "2019",
                Name = "Test Initiative"
            };

            var mockInitiativeRepository = new Mock <IInitiativeRepository> {
                CallBase = true
            };
            var mockEventRepository = new Mock <IEventRepository> {
                CallBase = true
            };

            mockInitiativeRepository.Setup(x => x.InitiativeExistsAsync(initiative.Name, initiative.Year)).ReturnsAsync(true);
            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap <InitiativeForCreate, Initiative>();
            });

            var mapper  = config.CreateMapper();
            var service = new InitiativeService(mockInitiativeRepository.Object, mapper, mockEventRepository.Object);
            // Act
            var result = service.InitiativeExistsAsync(initiative);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsNull(result.Exception);
            Assert.IsTrue(result.Result);
        }
Exemple #2
0
        public async Task <IActionResult> CreateInitiative(InitiativeForCreate initiativeForCreate)
        {
            if (await _initiativeService.InitiativeExistsAsync(initiativeForCreate))
            {
                return(BadRequest("Initiative already exists for year " + initiativeForCreate.Year));
            }

            bool success = await _initiativeService.CreateInitiativeAsync(initiativeForCreate);

            return(Ok(success));
        }
Exemple #3
0
        public async Task <bool> CreateInitiativeAsync(InitiativeForCreate initiativeForCreate)
        {
            var  initiaviveToCreate = _mapper.Map <Initiative>(initiativeForCreate);
            bool success            = await _initiativeRepository.CreateInitiativeAsync(initiaviveToCreate, initiativeForCreate.Year);

            if (success)
            {
                Event appEvent = new Event
                {
                    Id             = Guid.NewGuid().ToString(),
                    Month          = "09-2020",
                    Initiative     = initiativeForCreate.Name,
                    Type           = "New",
                    Value          = 0,
                    InitiativeYear = initiativeForCreate.Year
                };
                await _eventRepository.CreateEventAsync(appEvent);

                return(true);
            }

            return(false);
        }
Exemple #4
0
 public async Task <bool> InitiativeExistsAsync(InitiativeForCreate initiativeForCreate)
 {
     return(await _initiativeRepository.InitiativeExistsAsync(initiativeForCreate.Name, initiativeForCreate.Year));
 }