예제 #1
0
        public void BookWithCurrentIdSaved(string name)
        {
            var booksData = AccessExcelData.GetTestData <Book>("Name", name, "Books", EndpointsConstants.BooksXlsxFilename);

            if (name == "maxInt")
            {
                booksData.Id = int.MaxValue.ToString();
            }

            if (name == "tooBigId")
            {
                long id = int.MaxValue;
                booksData.Id = (id + 1).ToString();
            }

            var response     = GetHelpMethods.ReturnBooksById(booksData.Id);
            var responseJson = response.Content.ReadAsStringAsync().Result;
            var book         = JsonConvert.DeserializeObject <Book>(responseJson);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreEqual(booksData.Id, book.Id, "Id");
            Assert.AreEqual(booksData.Title, book.Title, "Title");
            Assert.AreEqual(booksData.Author, book.Author, "Author");
            Assert.AreEqual(booksData.Description, book.Description, "Description");
        }
예제 #2
0
        public void GetBookById(string id)
        {
            var response     = GetHelpMethods.ReturnBooksById(id);
            var responseJson = response.Content.ReadAsStringAsync().Result;
            var book         = JsonConvert.DeserializeObject <Book>(responseJson);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreEqual(id, book.Id.ToString());
        }
예제 #3
0
        public void GetBookByInvalidId(string id)
        {
            var response        = GetHelpMethods.ReturnBooksById(id);
            var responseJson    = response.Content.ReadAsStringAsync().Result;
            var error           = JsonConvert.DeserializeObject <Error>(responseJson);
            var messageFormat   = AccessExcelData.GetTestData <Error>("Name", "missingId", "Errors", EndpointsConstants.BooksXlsxFilename).Message;
            var expectedMessage = string.Format(messageFormat, id);

            Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode);
            Assert.AreEqual(expectedMessage, error.Message);
        }
예제 #4
0
        public void AssertTitle(string title)
        {
            var responseArr = GetHelpMethods.ReturnBooksByTitle(title);

            foreach (var book in responseArr)
            {
                var result = JsonConvert.DeserializeObject <Book>(book.ToString());

                Assert.True(result.Title.Contains(title));
            }
        }
예제 #5
0
        public void GetBookById(string id)
        {
            var getResponse = GetHelpMethods.ReturnBooksById(id);

            Assert.AreEqual(HttpStatusCode.OK, getResponse.StatusCode);

            var deleteResponse = DeleteHelpMethods.CreateDeleteRequestById(id);

            Assert.AreEqual(HttpStatusCode.NoContent, deleteResponse.StatusCode);

            var newGetResponse = GetHelpMethods.ReturnBooksById(id);

            Assert.AreEqual(HttpStatusCode.NotFound, newGetResponse.StatusCode);
        }
예제 #6
0
        public void BeforeScenario()
        {
            Process[] processes = Process.GetProcessesByName("LibraryManager");
            foreach (var process in processes)
            {
                process.Kill();
            }

            var directory = DataDrivenHelpMethods.GetDirectory();
            var path      = Path.GetFullPath(Path.Combine(directory, EndpointsConstants.PartialServerlPath));

            System.Diagnostics.Process.Start(path);
            int currentCount = GetHelpMethods.ReturnAllBooksCount();

            Assert.AreEqual(0, currentCount);
        }
예제 #7
0
        public void AssertBooksCountByTitle(string title, string count)
        {
            var responseArr = GetHelpMethods.ReturnBooksByTitle(title);

            Assert.AreEqual(int.Parse(count), responseArr.Count);
        }