Exemplo n.º 1
0
        public void GetWithoutUserNameReturnsCorrectResponse()
        {
            var projectionStub = new Mock <IUserNameProjection>();
            var queryDummy     = new Mock <IJournalEntriesQuery>();
            var cmdMock        = new Mock <IAddJournalEntryCommand>();
            var sut            = new JournalController(
                projectionStub.Object,
                queryDummy.Object,
                cmdMock.Object)
            {
                Request = new HttpRequestMessage()
            };

            sut.Request.Properties.Add(
                HttpPropertyKeys.HttpConfigurationKey,
                new HttpConfiguration());

            projectionStub
            .Setup(p => p.GetUserName(It.IsAny <HttpRequestMessage>()))
            .Returns((string)null);

            var response = sut.Get();

            Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
        }
Exemplo n.º 2
0
        public void GettingJournalEntriesReturnsAnArrayOfJournalEntries()
        {
            var controller = new JournalController();

            var result = controller.Get();

            Assert.IsType <JournalEntry[]>(result);
        }
Exemplo n.º 3
0
        public void GetReturnsCorrectResult(string userName)
        {
            // Fixture setup
            var projectionStub = new Mock <IUserNameProjection>();
            var queryStub      = new Mock <IJournalEntriesQuery>();
            var cmdDummy       = new Mock <IAddJournalEntryCommand>();
            var sut            = new JournalController(
                projectionStub.Object,
                queryStub.Object,
                cmdDummy.Object)
            {
                Request = new HttpRequestMessage()
            };

            sut.Request.Properties.Add(
                HttpPropertyKeys.HttpConfigurationKey,
                new HttpConfiguration());

            projectionStub.Setup(p => p.GetUserName(sut.Request)).Returns(userName);

            var expected = new[]
            {
                new JournalEntryModel
                {
                    Time     = new DateTime(2012, 12, 10),
                    Distance = 5780,
                    Duration = TimeSpan.FromMinutes(33)
                },
                new JournalEntryModel
                {
                    Time     = new DateTime(2012, 12, 5),
                    Distance = 5760,
                    Duration = TimeSpan.FromMinutes(31)
                },
                new JournalEntryModel
                {
                    Time     = new DateTime(2012, 12, 3),
                    Distance = 5780,
                    Duration = TimeSpan.FromMinutes(31)
                }
            };

            queryStub.Setup(q => q.GetJournalEntries(userName)).Returns(expected);
            // Exercise system
            var response = sut.Get();
            var actual   = response.Content.ReadAsAsync <JournalModel>().Result;

            // Verify outcome
            Assert.True(expected.SequenceEqual(actual.Entries));
            // Teardown
        }
Exemplo n.º 4
0
        public void GetRootReturnsCorrectEntryFromDatabase()
        {
            var expected = new JournalEntry();

            expected.Time     = DateTimeOffset.Parse("1/11/2019 7:15:50");
            expected.Distance = 5000;
            expected.Duration = TimeSpan.FromMinutes(24);
            expected.UserId   = 1;

            var controller = new JournalController();
            var actual     = controller.Get();

            actual[0].Time = expected.Time;
            Assert.Contains(expected, actual);
        }
Exemplo n.º 5
0
        public void GettingJournalEntriesAfterPostingReturnsPostedJournalEntry()
        {
            var controller = new JournalController();
            var expected   = new JournalEntry
            {
                Time     = DateTimeOffset.Now,
                Distance = 5000,
                Duration = TimeSpan.FromMinutes(24)
            };

            controller.Post(expected);
            var actual = controller.Get();

            Assert.Equal(new JournalEntry[] { expected }, actual);
        }
        public void GetReturnsCorrectResult(string userName)
        {
            var projectionStub = new Mock<IUserNameProjection>();
            var queryStub = new Mock<IJournalEntriesQuery>();
            var cmdDummy = new Mock<IAddJournalEntryCommand>();
            var sut = new JournalController(
                projectionStub.Object,
                queryStub.Object,
                cmdDummy.Object)
            {
                Request = new HttpRequestMessage()
            };
            sut.Request.Properties.Add(
                HttpPropertyKeys.HttpConfigurationKey,
                new HttpConfiguration());

            projectionStub.Setup(p => p.GetUserName(sut.Request)).Returns(userName);

            var expected = new[]
            {
                new JournalEntryModel
                {
                    Time = new DateTime(2016, 1, 4),
                    Distance = 5780,
                    Duration = TimeSpan.FromMinutes(33)
                },
                new JournalEntryModel
                {
                    Time = new DateTime(2016, 1, 3),
                    Distance = 5760,
                    Duration = TimeSpan.FromMinutes(31)
                },
                new JournalEntryModel
                {
                    Time = new DateTime(2016, 1, 2),
                    Distance = 5700,
                    Duration = TimeSpan.FromMinutes(30)
                }
            };

            queryStub.Setup(q => q.GetJournalEntries(userName)).Returns(expected);

            var response = sut.Get();
            var actual = response.Content.ReadAsAsync<JournalModel>().Result;

            Assert.True(expected.SequenceEqual(actual.Entries));
        }
        public void GetWithoutUserNameReturnsCorrectResponse()
        {
            var projectionStub = new Mock<IUserNameProjection>();
            var queryDummy = new Mock<IJournalEntriesQuery>();
            var cmdMock = new Mock<IAddJournalEntryCommand>();
            var sut = new JournalController(
                projectionStub.Object,
                queryDummy.Object,
                cmdMock.Object)
            {
                Request = new HttpRequestMessage()
            };
            sut.Request.Properties.Add(
                HttpPropertyKeys.HttpConfigurationKey,
                new HttpConfiguration());

            projectionStub
                .Setup(p => p.GetUserName(It.IsAny<HttpRequestMessage>()))
                .Returns((string) null);

            var response = sut.Get();

            Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode);
        }