public void PostReturnBadRequestWhenNullPersonDtoPosted()
        {
            var mockService = new Mock<IPersonService>();
         
            var controller = new PersonController(mockService.Object);

            var actual = controller.Post(null);

            actual.ShouldBe(HttpStatusCode.BadRequest);
        }
        public void PostReturnNotFoundWhenCantFindItem()
        {
            var mockService = new Mock<IPersonService>();

            var controller = new PersonController(mockService.Object);

            var actual = controller.Post(new PersonDto(1, "Willis", "Tibbs", true, false, new List<Colour>()));

            mockService.Verify(s => s.Update(It.IsAny<PersonDto>()), Times.Once);

            actual.ShouldBe(HttpStatusCode.NotFound);
        }
        public void GetReturnsUserForId()
        {
            var mockService = new Mock<IPersonService>();
            mockService.Setup(s => s.Get(It.IsAny<int>()))
                .Returns(new PersonDto(1, "Willis", "Tibbs", true, true, this.GetMockColours()));

            var controller = new PersonController(mockService.Object);

            var actual = controller.Get(1);

            actual.Id.ShouldBe(1);
            actual.Name.ShouldBe("Willis Tibbs");
            actual.IsEnabled.ShouldBeTrue();
            actual.IsAuthorised.ShouldBeTrue();
            actual.Colours.Count.ShouldBe(3);
            actual.Colours.First().ShouldBe(1);
        }
        public void GetAllReturnsAListOfUsers()
        {
            var mockService = new Mock<IPersonService>();
            mockService.Setup(s => s.GetAllBrief()).Returns(new List<PersonBriefDto> 
            { 
                new PersonBriefDto(1, "Willis", "Tibbs", true, true, this.GetMockColours()), 
                new PersonBriefDto(2, "Sharon", "Halt", true, true, this.GetMockColours()),
                new PersonBriefDto(3, "Patrick", "Kerr", true, true, this.GetMockColours()), 
            });

            var controller = new PersonController(mockService.Object);

            var actual = controller.GetAll().ToList();

            actual.Count().ShouldBe(3);
            actual.First().Id.ShouldBe(1);
            actual.First().Name.ShouldBe("Willis Tibbs");
            actual.First().IsEnabled.ShouldBeTrue();
            actual.First().IsAuthorised.ShouldBeTrue();
            actual.First().Colours.ShouldBe("Red, Green, Blue");
        }