public void Should_Return_Ok_When_Create()
        {
            var fakeRepository = _fakes.FakeCustomerRepository().Object;
            var service        = new CustomerService(_fakes.Mapper, fakeRepository);

            var request = _fakes.Get <CustomerRequest>().First();

            var controller = new CustomerController(_fakes.Mapper, service);
            var actual     = controller.Create(request);

            Assert.NotNull(actual);
            Assert.IsType <ObjectResult>(actual.Result);

            var result = actual.Result as ObjectResult;

            Assert.NotNull(result.Value);
            Assert.IsType <Response>(result.Value);
            Assert.Equal(Responses.StatusCode(HttpStatusCode.OK), result.StatusCode);
        }
        public void Should_Return_Customer_When_Create()
        {
            var fakeRepository = _fakes.FakeCustomerRepository().Object;

            var request  = _fakes.Get <CustomerRequest>().First();
            var customer = _fakes.Get <Customer>().First();

            var response = _fakes.Mapper.Map <CustomerResponse>(customer);

            response.Id = Fakes.NewEntityId; // Mocked id when creating a new customer
            var expected = Responses.OkResponse(null, response);

            var service = new CustomerService(_fakes.Mapper, fakeRepository);
            var actual  = service.Create(request).Result;

            Assert.IsType <Response>(actual);
            Assert.Equal(expected, actual, new CustomerResponseComparer());
        }