Esempio n. 1
0
 public TicketWorkLogFactory(IParsesTimespan timespanParser, IGetsTicketByReference ticketProvider)
 {
     if (ticketProvider == null)
     {
         throw new ArgumentNullException(nameof(ticketProvider));
     }
     if (timespanParser == null)
     {
         throw new ArgumentNullException(nameof(timespanParser));
     }
     this.timespanParser = timespanParser;
     this.ticketProvider = ticketProvider;
 }
Esempio n. 2
0
        void AssertParsedAs(string input, TimeSpan expected, IParsesTimespan sut)
        {
            var result = sut.GetTimeSpan(input);

            Assert.That(result, Is.EqualTo(expected));
        }
Esempio n. 3
0
        public void GetWorkLog_returns_success_result_with_correct_values_from_services(AddWorkLogRequest request,
                                                                                        [Frozen] IParsesTimespan timespanParser,
                                                                                        [Frozen] IGetsTicketByReference ticketQuery,
                                                                                        int minutes,
                                                                                        Ticket ticket,
                                                                                        TicketWorkLogFactory sut)
        {
            Mock.Get(ticketQuery).Setup(x => x.GetTicketByReference(request.TicketReference)).Returns(ticket);
            Mock.Get(timespanParser).Setup(x => x.GetTimeSpan(request.TimeSpent)).Returns(() => TimeSpan.FromMinutes(minutes));

            var result = sut.GetWorkLog(request);

            Assert.That(result?.Success, Is.True);
            Assert.That(result?.WorkLog?.User, Is.SameAs(request.User));
            Assert.That(result?.Ticket, Is.SameAs(ticket));
            Assert.That(result?.WorkLog?.Ticket, Is.Null);
            Assert.That(result?.WorkLog?.GetTimeSpent().TotalMinutes, Is.EqualTo(minutes));
            Assert.That(result?.WorkLog?.TimeStarted, Is.EqualTo(request.TimeStarted));
        }
Esempio n. 4
0
        public void GetWorkLog_returns_failure_result_if_time_parser_throws_FormatException(AddWorkLogRequest request,
                                                                                            [Frozen] IParsesTimespan timespanParser,
                                                                                            TicketWorkLogFactory sut)
        {
            Mock.Get(timespanParser).Setup(x => x.GetTimeSpan(It.IsAny <string>())).Throws <FormatException>();
            var result = sut.GetWorkLog(request);

            Assert.That(result?.Success, Is.False);
            Assert.That(result?.TimeSpentIsInvalid, Is.True);
        }