Exemplo n.º 1
0
        public async Task <IActionResult> Add([FromBody][Required] AddEventRequest request)
        {
            var input = new AddEventInput(request.Name, request.Description, request.StartDate, request.Duration);
            await _useCase.Execute(input);

            return(_presenter.ViewModel);
        }
Exemplo n.º 2
0
        public async Task Execute(AddEventInput input)
        {
            if (input is null)
            {
                throw new Exception();
            }

            var newEvent = _entityFactory.NewCalendarEvent(input.Name, input.Description, input.StartDate, input.Duration);
            await _repository.Add(newEvent);

            _output.Default(new AddEventOutput(newEvent));
        }
Exemplo n.º 3
0
        public async Task ValidEvent_ShouldBeAdded()
        {
            var input = new AddEventInput("Name", "Description", new DateTime(2020, 1, 1), TimeSpan.FromMinutes(20));

            await _useCase.Execute(input);

            Assert.NotNull(_output);
            Assert.NotEqual(Guid.Empty, _output.EventId);
            Assert.Equal("Name", _output.EventName);
            Assert.Equal("Description", _output.EventDescription);
            Assert.Equal(new DateTime(2020, 1, 1), _output.EventStartDate);
            Assert.Equal(TimeSpan.FromMinutes(20), _output.EventDuration);

            Assert.Single(_context.CalendarEvents);
            Assert.Equal(_context.CalendarEvents.First().Id, _output.EventId);
            Assert.Equal(_context.CalendarEvents.First().Name, _output.EventName);
            Assert.Equal(_context.CalendarEvents.First().Description, _output.EventDescription);
            Assert.Equal(_context.CalendarEvents.First().StartDate, _output.EventStartDate);
            Assert.Equal(_context.CalendarEvents.First().Duration, _output.EventDuration);
        }