Example #1
0
        public async Task TestBooksDelete404NotFound()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <MockDataSeeder>(MockDataSeeder.AdminLogin),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Delete(14);

                Assert.AreEqual(StatusCodes.Status404NotFound, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #2
0
        public async Task TestBooksDelete500InternalServerError()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryFaultyHttpClientFactory <AppDataSeeder>(AppDataSeeder.AdminDto),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Delete(1);

                Assert.AreEqual(StatusCodes.Status500InternalServerError, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #3
0
        public async Task TestAuthorsGetMethod404NotFound()
        {
            try {
                BookStoreUI.Services.AuthorsRepository authorsController = new BookStoreUI.Services.AuthorsRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <EmptyDataSeeder>(),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await authorsController.Get(1);

                Assert.AreEqual(null, answer);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #4
0
        public async Task TestBooksGetAllMethod404NotFound()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <EmptyDataSeeder>(),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Get();

                Assert.AreEqual(0, answer.Count());
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #5
0
        public async Task TestBooksGetMethod500()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryFaultyHttpClientFactory <BookStoreApi.Code.AppDataSeeder>(),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await booksRepository.Get(1);

                Assert.AreEqual(null, answer);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #6
0
        public async Task TestAuthorsGetMethod200Ok()
        {
            try {
                BookStoreUI.Services.AuthorsRepository authorsController = new BookStoreUI.Services.AuthorsRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <MockDataSeeder>(MockDataSeeder.AdminLogin),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await authorsController.Get(2);

                Assert.AreEqual("Boris", answer.Firstname);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #7
0
        public async Task TestAuthorsGetAllMethod500InternalServerError()
        {
            try {
                BookStoreUI.Services.AuthorsRepository authorsController = new BookStoreUI.Services.AuthorsRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryFaultyHttpClientFactory <BookStoreApi.Code.AppDataSeeder>(),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await authorsController.Get();

                Assert.AreEqual(0, answer.Count());
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #8
0
        public async Task TestAuthorsDelete403Forbidden()
        {
            try {
                BookStoreUI.Services.AuthorsRepository authorsController = new BookStoreUI.Services.AuthorsRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <MockDataSeeder>(MockDataSeeder.Customer1Login),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var answer = await authorsController.Delete(1);

                Assert.AreEqual(StatusCodes.Status403Forbidden, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #9
0
        //[TestMethod]
        public async Task TestBooksCreate403Forbidden()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <MockDataSeeder>(MockDataSeeder.Customer1Login),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var invalidAuthor = NewBookDTO;
                var answer        = await booksRepository.Create(invalidAuthor);

                Assert.AreEqual(StatusCodes.Status403Forbidden, answer.StatusCode);
            }

            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #10
0
        public async Task TestAuthorsUpdate400BadRequest()
        {
            try {
                BookStoreUI.Services.AuthorsRepository authorsController = new BookStoreUI.Services.AuthorsRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryHttpClientFactory <MockDataSeeder>(MockDataSeeder.AdminLogin),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var invalidAuthor = UpdateAuthorDTO;
                invalidAuthor.Firstname = null;
                var answer = await authorsController.Update(invalidAuthor);

                Assert.AreEqual(StatusCodes.Status400BadRequest, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #11
0
        public async Task TestBooksUpdate400BadRequest()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryAuthentificatedHttpClientFactory <MockDataSeeder>(MockDataSeeder.AdminLogin),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var authorToUpdate = await booksRepository.Get(3);

                authorToUpdate.Title = String.Empty;
                var answer = await booksRepository.Update(authorToUpdate);

                Assert.AreEqual(StatusCodes.Status400BadRequest, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #12
0
        public async Task TestBooksUpdate500InternalServerError()
        {
            try {
                BookStoreUI.Contracts.IBookRepository booksRepository = new BookStoreUI.Services.BooksRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryFaultyHttpClientFactory <AppDataSeeder>(AppDataSeeder.AdminDto),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                BookStoreUI.Data.DTOs.Book bookToUpdate = new BookStoreUI.Data.DTOs.Book()
                {
                    Id    = 3,
                    Title = "Some book",
                    Isbn  = "978-5-17-087885-7"
                };
                var answer = await booksRepository.Update(bookToUpdate);

                Assert.AreEqual(StatusCodes.Status500InternalServerError, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }
Example #13
0
        public async Task TestAuthorsUpdate200Ok()
        {
            try {
                BookStoreUI.Services.AuthorsRepository authorsController = new BookStoreUI.Services.AuthorsRepository(
                    configuration: FakeConfigurationProvider.BuildConfiguration(),
                    clientFactory: new FakeInMemoryAuthentificatedHttpClientFactory <MockDataSeeder>(MockDataSeeder.AdminLogin),
                    messageProvider: new FakeHttpRequestMessageProviderAsync()
                    );
                var authorToUpdate = await authorsController.Get(3);

                authorToUpdate.Firstname = "Maxim";
                foreach (var book in authorToUpdate.Books)
                {
                    book.Authors = null;
                }
                var answer = await authorsController.Update(authorToUpdate);

                Assert.AreEqual(StatusCodes.Status200OK, answer.StatusCode);
            }
            catch (AggregateException ae) {
                Assert.Fail(ae.Flatten().Message);
            }
        }