public async Task UpdateUserValidId()
        {
            using (var client = new TestClientProvider().Client)
            {
                var data = await client.GetAsync("/v1/api/users");

                string json = await data.Content.ReadAsStringAsync();

                IEnumerable <UserDTO> users = JsonConvert.DeserializeObject <IEnumerable <UserDTO> >(json);
                var maxId = users.Max(u => u.Id);
                var user  = users.FirstOrDefault(u => u.Id == maxId);

                var response = await client.PutAsync($"/v1/api/users/{maxId}", new StringContent(
                                                         JsonConvert.SerializeObject(new UserInputModel()
                {
                    FirstName = "Aragorn",
                    LastName = "Legolasson",
                    Email = "*****@*****.**",
                    Phone = "6969691",
                    Address = "Isengard 20"
                }),
                                                         Encoding.UTF8, "application/json"));

                var updateResponse = await client.GetAsync($"/v1/api/users/{maxId}");

                string updatedUserJson = await updateResponse.Content.ReadAsStringAsync();

                UserDetailDTO updatedUser = JsonConvert.DeserializeObject <UserDetailDTO>(updatedUserJson);
                Assert.AreNotEqual(user.FirstName, updatedUser.FirstName);
            }
        }
        public async Task UpdateUserInvalidInputData()
        {
            using (var client = new TestClientProvider().Client)
            {
                var data = await client.GetAsync("/v1/api/users");

                string json = await data.Content.ReadAsStringAsync();

                IEnumerable <UserDTO> users = JsonConvert.DeserializeObject <IEnumerable <UserDTO> >(json);
                var maxId    = users.Max(u => u.Id);
                var user     = users.FirstOrDefault(u => u.Id == maxId);
                var response = await client.PutAsync($"/v1/api/users/{maxId}", new StringContent(
                                                         JsonConvert.SerializeObject(new UserInputModel()
                {
                    FirstName = "Gandalf"
                }),
                                                         Encoding.UTF8, "application/json"));

                var updateResponse = await client.GetAsync($"/v1/api/users/{maxId}");

                string updatedUserJson = await updateResponse.Content.ReadAsStringAsync();

                UserDetailDTO updatedUser = JsonConvert.DeserializeObject <UserDetailDTO>(updatedUserJson);
                Assert.AreEqual(user.FirstName, updatedUser.FirstName);
            }
        }
        public async Task UpdateTapeInvalidInputData()
        {
            using (var client = new TestClientProvider().Client)
            {
                var data = await client.GetAsync("/v1/api/tapes");

                string json = await data.Content.ReadAsStringAsync();

                IEnumerable <TapeDTO> tapes = JsonConvert.DeserializeObject <IEnumerable <TapeDTO> >(json);
                var maxId = tapes.Max(u => u.Id);
                var tape  = tapes.FirstOrDefault(u => u.Id == maxId);

                var response = await client.PutAsync($"/v1/api/tapes/{maxId}", new StringContent(
                                                         JsonConvert.SerializeObject(new TapeInputModel()
                {
                    Title = "LOTR",
                }),
                                                         Encoding.UTF8, "application/json"));

                var updateResponse = await client.GetAsync($"/v1/api/tapes/{maxId}");

                string updatedTapeJson = await updateResponse.Content.ReadAsStringAsync();

                TapeDetailDTO updatedTape = JsonConvert.DeserializeObject <TapeDetailDTO>(updatedTapeJson);
                Assert.AreEqual(tape.Title, updatedTape.Title);
            }
        }
        public async Task UpdateTapeValidId()
        {
            using (var client = new TestClientProvider().Client)
            {
                var data = await client.GetAsync("/v1/api/tapes");

                string json = await data.Content.ReadAsStringAsync();

                IEnumerable <TapeDTO> tapes = JsonConvert.DeserializeObject <IEnumerable <TapeDTO> >(json);
                var maxId = tapes.Max(u => u.Id);
                var tape  = tapes.FirstOrDefault(u => u.Id == maxId);

                var response = await client.PutAsync($"/v1/api/tapes/{maxId}", new StringContent(
                                                         JsonConvert.SerializeObject(new TapeInputModel()
                {
                    Title = "Psycho Updated",
                    DirectorFirstName = "Alfred",
                    DirectorLastName = "Hitchcock",
                    Type = "betamax",
                    EIDR = "10.5240/XXXX-XXXX-XXXX-XXXX-XXXX-C",
                    ReleaseDate = "2000-10-10",
                }),
                                                         Encoding.UTF8, "application/json"));

                var updateResponse = await client.GetAsync($"/v1/api/tapes/{maxId}");

                string updatedTapeJson = await updateResponse.Content.ReadAsStringAsync();

                TapeDetailDTO updatedTape = JsonConvert.DeserializeObject <TapeDetailDTO>(updatedTapeJson);
                Assert.AreNotEqual(tape.Title, updatedTape.Title);
            }
        }
        public async Task UpdateUserReviewForTape()
        {
            using (var client = new TestClientProvider().Client)
            {
                var data = await client.GetAsync("/v1/api/users/100/reviews/10");

                data.EnsureSuccessStatusCode();
                string json = await data.Content.ReadAsStringAsync();

                ReviewDTO review = JsonConvert.DeserializeObject <ReviewDTO>(json);

                var response = await client.PutAsync("/v1/api/users/100/reviews/10", new StringContent(
                                                         JsonConvert.SerializeObject(new ReviewInputModel()
                {
                    Score = 3
                }),
                                                         Encoding.UTF8, "application/json"
                                                         ));

                var updatedData = await client.GetAsync("/v1/api/users/100/reviews/10");

                updatedData.EnsureSuccessStatusCode();
                string updatedJson = await updatedData.Content.ReadAsStringAsync();

                ReviewDTO updatedReview = JsonConvert.DeserializeObject <ReviewDTO>(updatedJson);
                Assert.AreNotEqual(review.Score, updatedReview.Score);
                Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
            }
        }
예제 #6
0
        public async Task UpdateBorrowingInformation()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.PutAsync("/v1/api/users/100/tapes/10", new StringContent(
                                                         JsonConvert.SerializeObject(new LoanInputModel()
                {
                    BorrowDate = "2018-10-23"
                }),
                                                         Encoding.UTF8, "application/json"
                                                         ));

                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
            }
        }