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

                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            }
        }
Ejemplo n.º 2
0
        public async Task ReturnLoanedTape()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.DeleteAsync("/v1/api/users/100/tapes/10");

                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
            }
        }
Ejemplo n.º 3
0
        public async Task RegisterTapeOnLoanInvalidUserId()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.PostAsync("/v1/api/users/99999/tapes/10", null);

                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
            }
        }
        public async Task CreateUserInvalidInput()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.PostAsync("/v1/api/users", new StringContent(
                                                          JsonConvert.SerializeObject(new UserInputModel()
                {
                    FirstName = "blabla"
                }),
                                                          Encoding.UTF8, "application/json"));

                response.EnsureSuccessStatusCode();
            }
        }
        public async Task GetUserByValidID()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.GetAsync("/v1/api/users/1");

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

                UserDetailDTO user = JsonConvert.DeserializeObject <UserDetailDTO>(data);
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
                Assert.AreEqual(1, user.Id);
            }
        }
        public async Task GetAllReviewsForUser()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.GetAsync("/v1/api/users/100/reviews");

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

                IEnumerable <ReviewDTO> reviews = JsonConvert.DeserializeObject <IEnumerable <ReviewDTO> >(data);
                Assert.IsNotNull(reviews);
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            }
        }
        public async Task DeleteUserValidId()
        {
            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 response = await client.DeleteAsync($"/v1/api/users/{maxId}");

                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
            }
        }
Ejemplo n.º 8
0
        public async Task GetTapesOnLoanForUserInvalidUserId()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.GetAsync("/v1/api/users/99999/tapes");

                response.EnsureSuccessStatusCode();

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

                IEnumerable <TapeDTO> tapes = JsonConvert.DeserializeObject <IEnumerable <TapeDTO> >(json);
                var tape = tapes.FirstOrDefault(t => t.Id == 10);
                Assert.IsNotNull(tape);
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            }
        }
Ejemplo n.º 9
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);
            }
        }
        public async Task GetUserReviewForTape()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.GetAsync("/v1/api/users/100/reviews/10");

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

                ReviewDTO review = JsonConvert.DeserializeObject <ReviewDTO>(data);
                Assert.IsNotNull(review);
                Assert.AreEqual(review.UserId, 100);
                Assert.AreEqual(review.TapeId, 10);
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            }
        }
        public async Task CreateUserReviewForTape()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.PostAsync("/v1/api/users/100/reviews/10", new StringContent(
                                                          JsonConvert.SerializeObject(new ReviewInputModel()
                {
                    Score = 4,
                }),
                                                          Encoding.UTF8, "application/json"
                                                          ));

                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
                Assert.IsNotNull(response.Headers.Location);
            }
        }
        public async Task CreateUserValidInput()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.PostAsync("/v1/api/users", new StringContent(
                                                          JsonConvert.SerializeObject(new UserInputModel()
                {
                    FirstName = "FirstName",
                    LastName = "LastName",
                    Email = "*****@*****.**",
                    Phone = "1234567",
                    Address = "testgata 22"
                }),
                                                          Encoding.UTF8, "application/json"));

                // response.EnsureSuccessStatusCode();
                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
                Assert.IsNotNull(response.Headers.Location);
            }
        }
        public async Task CreateTapeValidInput()
        {
            using (var client = new TestClientProvider().Client)
            {
                var response = await client.PostAsync("/v1/api/tapes", new StringContent(
                                                          JsonConvert.SerializeObject(new TapeInputModel()
                {
                    Title = "Psycho",
                    DirectorFirstName = "Alfred",
                    DirectorLastName = "Hitchcock",
                    Type = "betamax",
                    EIDR = "10.5240/XXXX-XXXX-XXXX-XXXX-XXXX-C",
                    ReleaseDate = "2000-01-01",
                }),
                                                          Encoding.UTF8, "application/json"
                                                          ));

                response.EnsureSuccessStatusCode();
                Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
                Assert.IsNotNull(response.Headers.Location);
            }
        }