Exemple #1
0
        public void Create_returns_BadRequest_when_minutes_is_greater_than_10()
        {
            var sut = new TraceController(null, null, null);

            var result = (BadRequestErrorMessageResult)sut.Create(new StartTrace()
            {
                LinkId  = Guid.NewGuid(),
                Minutes = 11
            });

            result.Should().NotBeNull();
            result.Message.Should().Be("Tracking can only be enabled for ten minutes at most.");
        }
Exemple #2
0
        public void Create_returns_BadRequest_when_minutes_is_less_than_1()
        {
            var sut = new TraceController(null, null, null);

            var result = (BadRequestErrorMessageResult)sut.Create(new StartTrace()
            {
                LinkId  = Guid.NewGuid(),
                Minutes = 0
            });

            result.Should().NotBeNull();
            result.Message.Should().Be("Tracking must be enabled for one minute at least.");
        }
Exemple #3
0
        public void Create_returns_Created_result_with_properly_set_DTO()
        {
            var traceRepositoryMock = new Mock <ITraceRepository>();
            var sut = new TraceController(traceRepositoryMock.Object, null, null);
            CreatedNegotiatedContentResult <TraceConfiguration> result;
            var startDate = DateTime.UtcNow;
            var linkId    = Guid.NewGuid();

            traceRepositoryMock.Setup(t => t.Create(It.IsAny <TraceConfiguration>()));

            result = (CreatedNegotiatedContentResult <TraceConfiguration>)sut.Create(new StartTrace()
            {
                Minutes = 5,
                LinkId  = linkId
            });

            traceRepositoryMock.VerifyAll();
            result.Should().NotBeNull();
            result.Content.StartDate.Should().BeOnOrAfter(startDate).And.BeOnOrBefore(DateTime.UtcNow);
            result.Content.EndDate.Should().BeOnOrAfter(startDate.AddMinutes(5)).And.BeBefore(DateTime.UtcNow.AddMinutes(5));
            result.Content.LinkId.Should().Be(linkId);
        }