예제 #1
0
        public void GetEditShould_CallAddressServiceMethodEditAddress_WhenModelIsValid()
        {
            var placeServiceMock   = new Mock <IPlaceService>();
            var addressServiceMock = new Mock <IAddressService>();
            var tablesServiceMock  = new Mock <ITablesService>();
            var reviewsServiceMock = new Mock <IReviewsService>();
            var authProviderMock   = new Mock <IAuthenticationProvider>();
            var factoryMock        = new Mock <IViewModelFactory>();

            var controller = new Web.Controllers.PlacesController(authProviderMock.Object, factoryMock.Object,
                                                                  placeServiceMock.Object, addressServiceMock.Object, tablesServiceMock.Object,
                                                                  reviewsServiceMock.Object);

            var id    = Guid.NewGuid();
            var model = new EditViewModel()
            {
                Id = id
            };
            var place = new Place()
            {
                Id = id, AddressId = Guid.NewGuid()
            };

            placeServiceMock.Setup(s => s.EditPlace(model.Id, model.Contact, model.Description, model.PhotoUrl,
                                                    model.WeekdayHours, model.WeekendHours, model.AverageBill))
            .Returns(place);

            controller.Edit(model);

            addressServiceMock.Verify(s => s.EditAddress(place.AddressId, model.Country, model.City, model.Area, model.Street, model.Number));
        }
예제 #2
0
        public void GetEditShould_CallAuthProviderPlaceServiceMethodGetPlaceById_WhenPassedIdIsNotNull()
        {
            var placeServiceMock   = new Mock <IPlaceService>();
            var addressServiceMock = new Mock <IAddressService>();
            var tablesServiceMock  = new Mock <ITablesService>();
            var reviewsServiceMock = new Mock <IReviewsService>();
            var authProviderMock   = new Mock <IAuthenticationProvider>();
            var factoryMock        = new Mock <IViewModelFactory>();

            var controller = new Web.Controllers.PlacesController(authProviderMock.Object, factoryMock.Object,
                                                                  placeServiceMock.Object, addressServiceMock.Object, tablesServiceMock.Object,
                                                                  reviewsServiceMock.Object);

            var placeId = Guid.NewGuid();
            var userId  = Guid.NewGuid().ToString();

            authProviderMock.Setup(ap => ap.CurrentUserId).Returns(userId);

            controller.Edit(placeId);

            placeServiceMock.Verify(s => s.GetPlaceById(placeId), Times.Once);
        }