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); }
public void GettingJournalEntriesReturnsAnArrayOfJournalEntries() { var controller = new JournalController(); var result = controller.Get(); Assert.IsType <JournalEntry[]>(result); }
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 }
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); }
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); }