public void UnpinBuildCalled_WithComment_BuildPinnedWithComment() { // Arrange var teamCityClientMock = A.Fake <ITeamCityApiClient>(); var pinningService = new BuildPinningService(teamCityClientMock); // Act pinningService.UnPin(123, "some comment"); // Assert A.CallTo(() => teamCityClientMock.Delete("builds/123/pin/", "some comment")).MustHaveHappened(); }
public void PinBuildCalled_WithoutComment_BuildPinned() { // Arrange var teamCityClientMock = A.Fake <ITeamCityApiClient>(); var pinningService = new BuildPinningService(teamCityClientMock); // Act pinningService.Pin(123); // Assert A.CallTo(() => teamCityClientMock.Put <string>("builds/123/pin/", null)).MustHaveHappened(); }
public void UnpinBuildCalled_InvalidBuildId_ExceptionThrown() { // Arrange var teamCityClientMock = A.Fake <ITeamCityApiClient>(); A.CallTo(() => teamCityClientMock.Delete <string>("builds/123/pin/", null)) .Throws(new HttpException(HttpStatusCode.NotFound)); var pinningService = new BuildPinningService(teamCityClientMock); // Act Action action = () => pinningService.UnPin(123); // Assert action.ShouldThrow <HttpException>().Which.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public void IsPinnedCalled_BuildNotPinned_FalseReturned() { // Arrange var teamCityClientMock = A.Fake <ITeamCityApiClient>(); A.CallTo(() => teamCityClientMock.Get <string>("builds/123/pin/")) .Returns("false"); var pinningService = new BuildPinningService(teamCityClientMock); // Act var isPinned = pinningService.IsPinned(123); // Assert isPinned.Should().BeFalse(); }
public void IsPinnedCalled_TeamCityReturnsUnexpectedResult_ExceptionThrown() { // Arrange var teamCityClientMock = A.Fake <ITeamCityApiClient>(); A.CallTo(() => teamCityClientMock.Get <string>("builds/123/pin/")) .Returns("someUnexptectedString"); var pinningService = new BuildPinningService(teamCityClientMock); // Act Action action = () => pinningService.IsPinned(123); // Assert action.ShouldThrow <UnexpectedApiResponseException>() .Which.Message.Should().Contain("TeamCity API response was \"someUnexptectedString\", exptected it to be \"true\"/\"false\""); }