protected override void OnArrange()
        {
            base.OnArrange();

            MockLeanKitApi.Setup(x => x.GetBoard(It.IsAny <long>())).Returns(_testBoard);

            var serializer = new JsonSerializer <Unfuddle.Ticket>();

            var ticket1 = new Unfuddle.Ticket()
            {
                Id     = 1,
                Status = "Open"
            };

            var restResponse1 = new RestResponse()
            {
                Content = serializer.SerializeToString(ticket1), StatusCode = HttpStatusCode.OK
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/1") && y.Method == Method.GET))).Returns(restResponse1);
            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/1") && y.Method == Method.PUT))).Returns(restResponse1);

            var ticket2 = new Unfuddle.Ticket()
            {
                Id     = 2,
                Status = "Closed"
            };

            var restResponse2 = new RestResponse()
            {
                Content = serializer.SerializeToString(ticket2), StatusCode = HttpStatusCode.OK
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/2") && y.Method == Method.GET))).Returns(restResponse2);
            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/2") && y.Method == Method.PUT))).Returns(restResponse2);

            var errorSerializer = new JsonSerializer <Unfuddle.ErrorMessage>();
            var errorResponse   = new RestResponse()
            {
                Content = errorSerializer.SerializeToString(new Unfuddle.ErrorMessage()
                {
                    Message = "Error"
                }), StatusCode = HttpStatusCode.NotFound
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/3") && y.Method == Method.GET))).Returns(errorResponse);
            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/3") && y.Method == Method.PUT))).Returns(errorResponse);
        }
        protected override void OnArrange()
        {
            base.OnArrange();

            MockLeanKitApi.Setup(x => x.GetBoard(It.IsAny <long>())).Returns(_testBoard);

            var serializer = new JsonSerializer <Unfuddle.TicketsResponse>();

            var ticket1 = new Unfuddle.Ticket()
            {
                Id          = 1,
                Status      = "Open",
                Description = "Ticket 1",
                Summary     = "Ticket 1"
            };

            var ticket2 = new Unfuddle.Ticket()
            {
                Id          = 2,
                Status      = "Open",
                Description = "Ticket 2",
                Summary     = "Ticket 2"
            };

            var ticket3 = new Unfuddle.Ticket()
            {
                Id          = 3,
                Status      = "Open",
                Description = "Ticket 3",
                Summary     = "Ticket 3"
            };

            var group1 = new Unfuddle.Group()
            {
                Tickets = new List <Unfuddle.Ticket>()
                {
                    ticket1
                }
            };

            var unfuddleResponse1 = new Unfuddle.TicketsResponse()
            {
                Count  = 1,
                Groups = new List <Unfuddle.Group>()
                {
                    group1
                }
            };

            var restResponse1 = new RestResponse()
            {
                Content    = serializer.SerializeToString(unfuddleResponse1),
                StatusCode = HttpStatusCode.OK
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("projects/1/ticket_reports") && y.Method == Method.GET))).Returns(restResponse1);
            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("projects/2/ticket_reports") && y.Method == Method.GET))).Returns(restResponse1);
            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 group3 = new Unfuddle.Group()
            {
                Tickets = new List <Unfuddle.Ticket>()
                {
                    ticket1, ticket2, ticket3
                }
            };

            var unfuddleResponse3 = new Unfuddle.TicketsResponse()
            {
                Count  = 1,
                Groups = new List <Unfuddle.Group>()
                {
                    group3
                }
            };

            var restResponse3 = new RestResponse()
            {
                Content    = serializer.SerializeToString(unfuddleResponse3),
                StatusCode = HttpStatusCode.OK
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("projects/3/ticket_reports") && y.Method == Method.GET))).Returns(restResponse3);
            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("projects/4/ticket_reports") && y.Method == Method.GET))).Returns(restResponse1);
            MockLeanKitApi.Setup(x => x.GetCardByExternalId(4, It.IsAny <string>())).Returns(new Card()
            {
                Id = 4, ExternalSystemName = "Unfuddle"
            });
            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("projects/5/ticket_reports") && y.Method == Method.GET))).Returns(restResponse1);
            MockLeanKitApi.Setup(x => x.GetCardByExternalId(5, It.IsAny <string>())).Returns(new Card()
            {
                Id = 4, ExternalSystemName = "Unfuddlest"
            });
            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 <Unfuddle.Ticket>();

            var ticket1 = new Unfuddle.Ticket()
            {
                Id     = 1,
                Status = "Open"
            };

            var restResponse1 = new RestResponse()
            {
                Content = serializer.SerializeToString(ticket1), StatusCode = HttpStatusCode.OK
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/1") && y.Method == Method.GET))).Returns(restResponse1);
            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/1") && y.Method == Method.PUT))).Returns(restResponse1);

            var ticket2 = new Unfuddle.Ticket()
            {
                Id     = 2,
                Status = "Accepted"
            };

            var restResponse2 = new RestResponse()
            {
                Content = serializer.SerializeToString(ticket2), StatusCode = HttpStatusCode.OK
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/2") && y.Method == Method.GET))).Returns(restResponse2);
            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/2") && y.Method == Method.PUT))).Returns(restResponse2);

            var ticket3 = new Unfuddle.Ticket()
            {
                Id     = 3,
                Status = "Open"
            };

            var restResponse3 = new RestResponse()
            {
                Content = serializer.SerializeToString(ticket3), StatusCode = HttpStatusCode.OK
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/3") && y.Method == Method.GET))).Returns(restResponse3);
            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/3") && y.Method == Method.PUT))).Returns(restResponse3);

            var ticket4 = new Unfuddle.Ticket()
            {
                Id     = 4,
                Status = "Resolved"
            };

            var restResponse4 = new RestResponse()
            {
                Content = serializer.SerializeToString(ticket4), StatusCode = HttpStatusCode.OK
            };

            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/4") && y.Method == Method.GET))).Returns(restResponse4);
            MockRestClient.Setup(x => x.Execute(It.Is <RestRequest>(y => y.Resource.Contains("tickets/4") && y.Method == Method.PUT))).Returns(restResponse4);
        }