public void It_should_return_default_card_type_if_issue_has_no_labels() { var issue = new GitHubIssues.Issue(); GithubConversionExtensions.CalculateLeanKitCardType(_mapping, (GitHubIssues.Issue)null).Id.ShouldEqual(_testBoard.CardTypes.Last().Id); GithubConversionExtensions.CalculateLeanKitCardType(_mapping, issue).Id.ShouldEqual(_testBoard.CardTypes.Last().Id); }
protected override void OnArrange() { base.OnArrange(); MockLeanKitApi.Setup(x => x.GetBoard(It.IsAny <long>())).Returns(_testBoard); var serializer = new JsonSerializer <GitHubIssues.Issue>(); var issue1 = new GitHubIssues.Issue() { Id = 1, Number = 1, State = "Open" }; var restResponse1 = new RestResponse() { Content = serializer.SerializeToString(issue1), StatusCode = HttpStatusCode.OK }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/1") && y.Method == Method.GET))).Returns(restResponse1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/1") && y.Method == Method.PATCH))).Returns(restResponse1); var issue2 = new GitHubIssues.Issue() { Id = 2, Number = 2, State = "Closed" }; var restResponse2 = new RestResponse() { Content = serializer.SerializeToString(issue2), StatusCode = HttpStatusCode.OK }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/2") && y.Method == Method.GET))).Returns(restResponse2); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/2") && y.Method == Method.PATCH))).Returns(restResponse2); var errorSerializer = new JsonSerializer <GitHubIssues.ErrorMessage>(); var errorResponse = new RestResponse() { Content = errorSerializer.SerializeToString(new GitHubIssues.ErrorMessage() { Message = "Error" }), StatusCode = HttpStatusCode.NotFound }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/3") && y.Method == Method.GET))).Returns(errorResponse); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/3") && y.Method == Method.PATCH))).Returns(errorResponse); }
public void It_should_return_mapped_card_type_if_issue_has_matching_label() { var issue = new GitHubIssues.Issue() { Labels = new List <GitHubIssues.Label>() { new GitHubIssues.Label() { Name = "Roger" } } }; GithubConversionExtensions.CalculateLeanKitCardType(_mapping, issue).Id.ShouldEqual(_testBoard.CardTypes.FirstOrDefault(x => x.Name == "Willy").Id); }
public void It_should_return_default_card_type_if_issue_has_no_matching_labels() { var issue = new GitHubIssues.Issue() { Labels = new List <GitHubIssues.Label>() { new GitHubIssues.Label() { Name = "Bob" } } }; GithubConversionExtensions.CalculateLeanKitCardType(_mapping, issue).Id.ShouldEqual(_testBoard.CardTypes.Last().Id); }
protected override void OnArrange() { base.OnArrange(); MockLeanKitApi.Setup(x => x.GetBoard(It.IsAny <long>())).Returns(_testBoard); var serializer = new JsonSerializer <List <GitHubIssues.Issue> >(); var issue1 = new GitHubIssues.Issue() { Id = 1, Number = 1, State = "Open", Body = "New Issue 1", Title = "New Issue 1" }; var issue2 = new GitHubIssues.Issue() { Id = 2, Number = 2, State = "Open", Body = "New Issue 2", Title = "New Issue 2" }; var issue3 = new GitHubIssues.Issue() { Id = 3, Number = 3, State = "Open", Body = "New Issue 3", Title = "New Issue 3" }; var restResponse1 = new RestResponse() { Content = serializer.SerializeToString(new List <GitHubIssues.Issue>() { issue1 }), StatusCode = HttpStatusCode.OK }; var noRestResponse = new RestResponse() { StatusCode = HttpStatusCode.OK, Content = "" }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/1/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() == "Open"))).Returns(restResponse1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/1/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() != "Open"))).Returns(noRestResponse); MockLeanKitApi.Setup(x => x.GetCardByExternalId(1, It.IsAny <string>())).Returns((Card)null); MockLeanKitApi.Setup(x => x.AddCard(1, It.IsAny <Card>(), It.IsAny <string>())).Returns(_testCardAddResult1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/2/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() == "Open"))).Returns(restResponse1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/2/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() != "Open"))).Returns(noRestResponse); MockLeanKitApi.Setup(x => x.GetCardByExternalId(2, It.IsAny <string>())).Returns((Card)null); MockLeanKitApi.Setup(x => x.AddCard(2, It.IsAny <Card>(), It.IsAny <string>())).Returns(_testCardAddResult1); var restResponse3 = new RestResponse() { Content = serializer.SerializeToString(new List <GitHubIssues.Issue>() { issue1, issue2, issue3 }), StatusCode = HttpStatusCode.OK }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/3/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() == "Open"))).Returns(restResponse3); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/3/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() != "Open"))).Returns(noRestResponse); MockLeanKitApi.Setup(x => x.GetCardByExternalId(3, It.IsAny <string>())).Returns((Card)null); MockLeanKitApi.Setup(x => x.AddCard(3, It.IsAny <Card>(), It.IsAny <string>())).Returns(_testCardAddResult1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/4/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() == "Open"))).Returns(restResponse1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/4/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() != "Open"))).Returns(noRestResponse); MockLeanKitApi.Setup(x => x.GetCardByExternalId(4, It.IsAny <string>())).Returns(new Card() { Id = 4, ExternalSystemName = "GitHub" }); MockLeanKitApi.Setup(x => x.AddCard(4, It.IsAny <Card>(), It.IsAny <string>())).Returns(_testCardAddResult1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/5/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() == "Open"))).Returns(restResponse1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("/5/issues") && y.Method == Method.GET && y.Parameters[0].Value.ToString() != "Open"))).Returns(noRestResponse); MockLeanKitApi.Setup(x => x.GetCardByExternalId(5, It.IsAny <string>())).Returns(new Card() { Id = 4, ExternalSystemName = "GitHubby" }); MockLeanKitApi.Setup(x => x.AddCard(5, It.IsAny <Card>(), It.IsAny <string>())).Returns(_testCardAddResult1); }
protected override void OnArrange() { base.OnArrange(); MockLeanKitApi.Setup(x => x.GetBoard(It.IsAny <long>())).Returns(_testBoard); var serializer = new JsonSerializer <GitHubIssues.Issue>(); var issue1 = new GitHubIssues.Issue() { Id = 1, Number = 1, Title = "Issue 1", Body = "Issue 1", State = "Open" }; var restResponse1 = new RestResponse() { Content = serializer.SerializeToString(issue1), StatusCode = HttpStatusCode.OK }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/1") && y.Method == Method.GET))).Returns(restResponse1); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/1") && y.Method == Method.PATCH))).Returns(restResponse1); var issue2 = new GitHubIssues.Issue() { Id = 2, Number = 2, Title = "Issue 2", Body = "Issue 2", State = "Open" }; var restResponse2 = new RestResponse() { Content = serializer.SerializeToString(issue2), StatusCode = HttpStatusCode.OK }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/2") && y.Method == Method.GET))).Returns(restResponse2); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/2") && y.Method == Method.PATCH))).Returns(restResponse2); var issue3 = new GitHubIssues.Issue() { Id = 3, Number = 3, Title = "Issue 3", Body = "Issue 3", State = "Open" }; var restResponse3 = new RestResponse() { Content = serializer.SerializeToString(issue3), StatusCode = HttpStatusCode.OK }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/3") && y.Method == Method.GET))).Returns(restResponse3); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/3") && y.Method == Method.PATCH))).Returns(restResponse3); var issue4 = new GitHubIssues.Issue() { Id = 4, Number = 4, Title = "Issue 4", Body = "Issue 4", State = "Open" }; var restResponse4 = new RestResponse() { Content = serializer.SerializeToString(issue4), StatusCode = HttpStatusCode.OK }; MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/4") && y.Method == Method.GET))).Returns(restResponse4); MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("issues/4") && y.Method == Method.PATCH))).Returns(restResponse4); }