Пример #1
0
        public void GetWithInvalidIdShouldReturnNotFoundResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            var result = controller.Get(TestConstants.DefaultNonExistingModelId);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
Пример #2
0
        public void GetShouldReturnOkResultWithData()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            var result = controller.Get();
            var actual = result as OkNegotiatedContentResult <List <CommentResponseModel> >;
            var expectedNumberOfObjects = TestConstants.DefaultPageSize;

            Assert.IsNotNull(result);
            Assert.AreEqual(expectedNumberOfObjects, actual.Content.Count);
        }
Пример #3
0
        public void GetWithValidIdShouldReturnOkResultWithData()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            var id     = 0;
            var result = controller.Get(id);
            var actual = result as OkNegotiatedContentResult <CommentResponseModel>;

            Assert.IsNotNull(result);
            Assert.AreEqual(id, actual.Content.Id);
        }
Пример #4
0
        public void GetWithProvidedValidIdShouldReturnOkResultWithData()
        {
            var controller = ControllerMockFactory.GetAlbumsController(this.albums, this.users, this.photos);

            var result = controller.Get(1);

            var expectedCount = 1;
            var actual        = result as OkNegotiatedContentResult <List <AlbumResponseModel> >;

            Assert.IsNotNull(actual);
            Assert.AreEqual(expectedCount, actual.Content.Count);
        }
Пример #5
0
        public void GetShouldReturnOkResultWithData()
        {
            var controller = ControllerMockFactory.GetPhotosController(this.photos, this.albums);

            var result = controller.Get();

            var expected = TestConstants.DefaultPageSize;
            var actual   = result as OkNegotiatedContentResult <List <PhotoResponseModel> >;

            Assert.IsNotNull(actual);
            Assert.AreEqual(expected, actual.Content.Count);
        }
Пример #6
0
        public void PostWithFakeAccountShouldReturnUnauthorisedResult()
        {
            var controller = ControllerMockFactory.GetAlbumsController(
                this.albums, this.users, this.photos, false);

            var albumToBeAdded = new AlbumRequestModel()
            {
                Title = TestConstants.ValidTitle
            };
            var result = controller.Post(albumToBeAdded);

            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));
        }
Пример #7
0
        public void GetWithIdShouldReturnOkResultWithData()
        {
            var controller = ControllerMockFactory.GetPhotosController(this.photos, this.albums);

            var result = controller.Get(0);

            var actual        = result as OkNegotiatedContentResult <PhotoResponseModel>;
            var expectedTitle = TestConstants.ValidTitle;


            Assert.IsNotNull(actual);
            Assert.AreEqual(expectedTitle, actual.Content.Title);
        }
Пример #8
0
        public void PutWithInvalidUserShouldReturnUnauthorisedResult()
        {
            var controller = ControllerMockFactory.GetAlbumsController(this.albums, this.users, this.photos, false);

            var correctedTitleAlbum = new AlbumRequestModel()
            {
                Title = TestConstants.ValidTitle
            };
            var result = controller.Put(1, correctedTitleAlbum);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));
        }
Пример #9
0
        public void PutWithBadAlbumIdShouldReturnNotFoundResult()
        {
            var controller = ControllerMockFactory.GetAlbumsController(this.albums, this.users, this.photos);

            var correctedTitleAlbum = new AlbumRequestModel()
            {
                Title = TestConstants.ValidTitle
            };
            var result = controller.Put(TestConstants.DefaultNonExistingModelId, correctedTitleAlbum);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
Пример #10
0
        public void DeleteWithInvalidIdShouldReturnNotFoundResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            var result = controller.Delete(TestConstants.DefaultNonExistingModelId);
            var expectedNumberOfComments    = TestConstants.DefaultNumberOfModels;
            var expectedNumberOfSaveChanges = 0;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
            Assert.AreEqual(expectedNumberOfComments, this.comments.NumberOfModels);
            Assert.AreEqual(expectedNumberOfSaveChanges, this.comments.NumberOfSaves);
        }
Пример #11
0
        public void DeleteWithInvalidUserShouldReturnUnauthorisedResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos, false);

            var result = controller.Delete(0);
            var expectedNumberOfComments    = TestConstants.DefaultNumberOfModels;
            var expectedNumberOfSaveChanges = 0;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));
            Assert.AreEqual(expectedNumberOfComments, this.comments.NumberOfModels);
            Assert.AreEqual(expectedNumberOfSaveChanges, this.comments.NumberOfSaves);
        }
Пример #12
0
        public void DeleteWithWrongUserShouldReturnUnauthorisedResult()
        {
            var controller = ControllerMockFactory.GetAlbumsController(
                this.albums, this.users, this.photos, false);

            var result = controller.Delete(0);

            var expectedSaveChanges = 0;
            var expectedCount       = TestConstants.DefaultNumberOfModels;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(UnauthorizedResult));
            Assert.AreEqual(expectedSaveChanges, this.albums.NumberOfSaves);
            Assert.AreEqual(expectedCount, this.albums.NumberOfModels);
        }
Пример #13
0
        public void DeleteWithValidIdShouldReturnOkResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            var result                      = controller.Delete(0);
            var actual                      = result as OkNegotiatedContentResult <string>;
            var expectedContent             = "Comment deleted";
            var expectedNumberOfComments    = TestConstants.DefaultNumberOfModels - 1;
            var expectedNumberOfSaveChanges = 1;

            Assert.IsNotNull(result);
            Assert.AreEqual(expectedContent, actual.Content);
            Assert.AreEqual(expectedNumberOfComments, this.comments.NumberOfModels);
            Assert.AreEqual(expectedNumberOfSaveChanges, this.comments.NumberOfSaves);
        }
Пример #14
0
        public void PostWithInvalidModelStateShouldReturnInvalidModelStateResult()
        {
            var controller = ControllerMockFactory.GetPhotosController(this.photos, this.albums);

            controller.ModelState.AddModelError("url", "Invalid url!");

            var photo  = new PhotoRequestModel();
            var result = controller.Post(photo);
            var expectedSaveChanges    = 0;
            var expectedNumberOfPhotos = TestConstants.DefaultNumberOfModels;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(InvalidModelStateResult));
            Assert.AreEqual(expectedNumberOfPhotos, this.photos.NumberOfModels);
            Assert.AreEqual(expectedSaveChanges, this.photos.NumberOfSaves);
        }
Пример #15
0
        public void PostWithInvalidModelShouldReturnInvalidModelStateResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            controller.ModelState.AddModelError("content", "Invalid content!");

            var commentToBeAdded = new CommentRequestModel();
            var result           = controller.Post(0, commentToBeAdded);
            var expectedNumberOfCommentsAdded = 0;
            var expectedSaveChanges           = 0;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(InvalidModelStateResult));
            Assert.AreEqual(expectedNumberOfCommentsAdded, this.photos.GetById(0).Comments.Count);
            Assert.AreEqual(expectedSaveChanges, this.photos.NumberOfSaves);
        }
Пример #16
0
        public void PutWithInvalidModelShouldReturnInvalidModelStateResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            controller.ModelState.AddModelError("content", "Invalid content!");

            var updatedComment       = new CommentRequestModel();
            var result               = controller.Put(0, updatedComment);
            var expectedUpdatedCount = 0;
            var expectedSaveChanges  = 0;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(InvalidModelStateResult));
            Assert.AreEqual(expectedUpdatedCount, this.comments.UpdatedEntities.Count);
            Assert.AreEqual(expectedSaveChanges, this.comments.NumberOfSaves);
        }
Пример #17
0
        public void PutWithInvalidModelStateShouldReturnInvalidModelStateResultWithContent()
        {
            var controller = ControllerMockFactory.GetAlbumsController(this.albums, this.users, this.photos);

            controller.ModelState.AddModelError("title", "Title cannot be null.");

            var emptyAlbum = new AlbumRequestModel();
            var result     = controller.Put(0, emptyAlbum);

            var expectedUpdates          = 0;
            var expectedSaveChangesCalls = 0;

            Assert.IsInstanceOfType(result, typeof(InvalidModelStateResult));
            Assert.AreEqual(expectedUpdates, this.albums.UpdatedEntities.Count);
            Assert.AreEqual(expectedSaveChangesCalls, this.albums.NumberOfSaves);
        }
Пример #18
0
        public void DeleteWithValidDataShouldReturnOkResult()
        {
            var controller = ControllerMockFactory.GetAlbumsController(this.albums, this.users, this.photos);

            var result = controller.Delete(0);

            var actual = result as OkNegotiatedContentResult <string>;
            var expectedSaveChanges = 1;
            var expectedCount       = TestConstants.DefaultNumberOfModels - 1;
            var expectedContent     = "Album deleted with all pictures inside.";

            // TODO: Add Assert to check if all photos are removed.
            Assert.IsNotNull(result);
            Assert.AreEqual(expectedSaveChanges, this.albums.NumberOfSaves);
            Assert.AreEqual(expectedCount, this.albums.NumberOfModels);
            Assert.AreEqual(expectedContent, actual.Content);
        }
Пример #19
0
        public void PutWithInvalidUserShouldReturnUnauthorisedResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos, false);

            var updatedComment = new CommentRequestModel()
            {
                Content = "Edited Content"
            };
            var result = controller.Put(TestConstants.DefaultNonExistingModelId, updatedComment);
            var expectedUpdatedCount = 0;
            var expectedSaveChanges  = 0;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
            Assert.AreEqual(expectedUpdatedCount, this.comments.UpdatedEntities.Count);
            Assert.AreEqual(expectedSaveChanges, this.comments.NumberOfSaves);
        }
Пример #20
0
        public void PostWithValidDataShouldReturnOkResult()
        {
            var controller = ControllerMockFactory.GetAlbumsController(this.albums, this.users, this.photos);

            var albumToBeAdded = new AlbumRequestModel()
            {
                Title = TestConstants.ValidTitle
            };
            var result = controller.Post(albumToBeAdded);

            var expectedSaveChanges       = 1;
            var expectedAlbumsAfterChange = TestConstants.DefaultNumberOfModels + 1;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <int>));
            Assert.AreEqual(expectedAlbumsAfterChange, this.albums.NumberOfModels);
            Assert.AreEqual(expectedSaveChanges, this.albums.NumberOfSaves);
        }
Пример #21
0
        public void PostWithInvalidPhotoIdShouldReturnNotFoundResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            var commentToBeAdded = new CommentRequestModel()
            {
                Content = TestConstants.ValidContent,
                UserId  = TestConstants.ValidUserId
            };
            var result = controller.Post(TestConstants.DefaultNonExistingModelId, commentToBeAdded);
            var expectedNumberOfCommentsAdded = 0;
            var expectedSaveChanges           = 0;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
            Assert.AreEqual(expectedNumberOfCommentsAdded, this.photos.GetById(0).Comments.Count);
            Assert.AreEqual(expectedSaveChanges, this.photos.NumberOfSaves);
        }
Пример #22
0
        public void PutWithValidDataShouldReturnOkResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            var updatedComment = new CommentRequestModel()
            {
                Content = "Edited Content"
            };
            var result               = controller.Put(0, updatedComment);
            var actual               = result as OkNegotiatedContentResult <string>;
            var expectedContent      = "Comment updated";
            var expectedUpdatedCount = 1;
            var expectedSaveChanges  = 1;

            Assert.IsNotNull(result);
            Assert.AreEqual(expectedContent, actual.Content);
            Assert.AreEqual(expectedUpdatedCount, this.comments.UpdatedEntities.Count);
            Assert.AreEqual(expectedSaveChanges, this.comments.NumberOfSaves);
        }
Пример #23
0
        public void PutWithValidDataProvidedShouldReturnOkResult()
        {
            var controller = ControllerMockFactory.GetAlbumsController(this.albums, this.users, this.photos);

            var correctedTitleAlbum = new AlbumRequestModel()
            {
                Title = "CoolTitle"
            };
            var result = controller.Put(0, correctedTitleAlbum);

            var actual                   = result as OkNegotiatedContentResult <string>;
            var expectedContent          = "Album updated";
            var expectedUpdates          = 1;
            var expectedSaveChangesCalls = 1;

            Assert.AreEqual(expectedContent, actual.Content);
            Assert.AreEqual(expectedUpdates, this.albums.UpdatedEntities.Count);
            Assert.AreEqual(expectedSaveChangesCalls, this.albums.NumberOfSaves);
        }
Пример #24
0
        public void PostWithInvalidAlbumIdShouldReturnNotFoundResult()
        {
            var controller = ControllerMockFactory.GetPhotosController(this.photos, this.albums);

            var photo = new PhotoRequestModel
            {
                Title         = TestConstants.ValidTitle,
                ImageUrl      = TestConstants.ValidUrl,
                FileExtension = TestConstants.ValidFileExtension,
                AlbumId       = TestConstants.DefaultNonExistingModelId
            };
            var result = controller.Post(photo);
            var expectedSaveChanges    = 0;
            var expectedNumberOfPhotos = TestConstants.DefaultNumberOfModels;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
            Assert.AreEqual(expectedNumberOfPhotos, this.photos.NumberOfModels);
            Assert.AreEqual(expectedSaveChanges, this.photos.NumberOfSaves);
        }
Пример #25
0
        public void PostWithValidDataShouldReturnOkResult()
        {
            var controller = ControllerMockFactory.GetPhotosController(this.photos, this.albums);

            var photo = new PhotoRequestModel
            {
                Title         = TestConstants.ValidTitle,
                ImageUrl      = TestConstants.ValidUrl,
                FileExtension = TestConstants.ValidFileExtension,
                AlbumId       = 0
            };
            var result = controller.Post(photo);
            var expectedNumberOfPhotos = 16;
            var expectedSaveChanges    = 1;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <int>));
            Assert.AreEqual(expectedNumberOfPhotos, this.photos.NumberOfModels);
            Assert.AreEqual(expectedSaveChanges, this.photos.NumberOfSaves);
        }
Пример #26
0
        public void PostWithValidDataShouldReturnOkResult()
        {
            var controller = ControllerMockFactory.GetCommentsController(this.comments, this.photos);

            var commentToBeAdded = new CommentRequestModel()
            {
                Content = TestConstants.ValidContent,
                UserId  = TestConstants.ValidUserId
            };
            var result                        = controller.Post(0, commentToBeAdded);
            var actual                        = result as OkNegotiatedContentResult <string>;
            var expectedContent               = "Comment successfully added.";
            var expectedSaveChanges           = 1;
            var expectedNumberOfCommentsAdded = 1;

            Assert.IsNotNull(result);
            Assert.AreEqual(expectedContent, actual.Content);
            Assert.AreEqual(expectedNumberOfCommentsAdded, this.photos.GetById(0).Comments.Count);
            Assert.AreEqual(expectedSaveChanges, this.photos.NumberOfSaves);
        }
Пример #27
0
        public void PutWithValidDataShouldReturnOkResult()
        {
            var controller = ControllerMockFactory.GetPhotosController(this.photos, this.albums);

            var result          = controller.Put(0, true);
            var expectedContent = "Successfully liked picture!";
            var expectedLikes   = 1;
            var actual          = result as OkNegotiatedContentResult <string>;

            Assert.IsNotNull(result);
            Assert.AreEqual(expectedContent, actual.Content);
            Assert.AreEqual(expectedLikes, this.photos.GetById(0).Likes);

            result          = controller.Put(0, false);
            expectedContent = "Successfully disliked picture!";
            expectedLikes   = 0;
            actual          = result as OkNegotiatedContentResult <string>;

            Assert.IsNotNull(result);
            Assert.AreEqual(expectedContent, actual.Content);
            Assert.AreEqual(expectedLikes, this.photos.GetById(0).Likes);
        }