示例#1
0
        public async Task Account_Register()
        {
            // if login fails then register
            try
            {
                // login
                var token = await Account_Login();
            }
            catch (Exception)
            {
                // register
                using (var serverAndClient = new HttpServerAndClient <Startup>())
                {
                    var response2 = await serverAndClient.Client.PostAsJsonAsync("api/Account/Register", new RegisterBindingModel()
                    {
                        Email           = "*****@*****.**",
                        Password        = "******",
                        ConfirmPassword = "******"
                    });

                    var responseContent2 = await response2.Content.ReadAsStringAsync();

                    response2.EnsureSuccessStatusCode();
                }
            }
        }
示例#2
0
        public async Task Task_Get()
        {
            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var response = await serverAndClient.Client.GetAsync("api/task");

                response.EnsureSuccessStatusCode();
            }
        }
示例#3
0
        public async Task Task_GetSingle()
        {
            var task = await Task_Post();

            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var response = await serverAndClient.Client.GetAsync("api/task/" + task.TaskItemID);

                response.EnsureSuccessStatusCode();

                var content = await response.Content.ReadAsStringAsync();
            }
        }
示例#4
0
        public async Task Task_Patch()
        {
            var task = await Task_Post();

            task.TaskName = "Task 1";

            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var response = await serverAndClient.Client.PatchAsJsonAsync(
                    "api/task", task);

                response.EnsureSuccessStatusCode();
            }
        }
示例#5
0
        public async Task HelloWorld_Get()
        {
            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var response = await serverAndClient.Client.GetAsync("api/hello");

                response.EnsureSuccessStatusCode();

                var content = await response.Content.ReadAsStringAsync();

                var obj = (JObject)JsonConvert.DeserializeObject(content);

                Assert.Equal("hello world", obj["message"].ToString());
            }
        }
示例#6
0
        public async Task <TaskItem> Task_Post()
        {
            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var response = await serverAndClient.Client.PostAsJsonAsync <TaskItem>(
                    "api/task",
                    new TaskItem()
                {
                    TaskName = "Task 1"
                });

                response.EnsureSuccessStatusCode();

                var task = await response.Content.ReadAsAsync <TaskItem>();

                return(task);
            }
        }
示例#7
0
        public async Task Category_Get()
        {
            var newCategoryID = await Category_Create();

            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var response = await serverAndClient.Client.GetAsync("api/category");

                response.EnsureSuccessStatusCode();

                var content = await response.Content.ReadAsStringAsync();

                content = JObject.Parse(content)["data"].ToString();

                var categories = JsonConvert.DeserializeObject <List <TaskCategory> >(content);

                Assert.True(categories.Any(c => c.TaskCategoryID == newCategoryID));
            }
        }
示例#8
0
        public async Task <Guid> Category_Create()
        {
            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var response = await serverAndClient.Client.PostAsJsonAsync("api/category", new TaskCategory {
                    CategoryName = "Information"
                });

                response.EnsureSuccessStatusCode();

                var content = await response.Content.ReadAsStringAsync();

                var newCategory = JsonConvert.DeserializeObject <TaskCategory>(content);

                Assert.NotEqual(Guid.Empty, newCategory.TaskCategoryID);

                return(newCategory.TaskCategoryID);
            }
        }
示例#9
0
        public async Task Task_Delete()
        {
            var newTask = await Task_Post();

            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var response = await serverAndClient.Client.DeleteAsync("api/task/" + newTask.TaskItemID);

                response.EnsureSuccessStatusCode();

                response = await serverAndClient.Client.GetAsync("api/category");

                response.EnsureSuccessStatusCode();

                var content = await response.Content.ReadAsStringAsync();

                content = JObject.Parse(content)["data"].ToString();

                var categories = JsonConvert.DeserializeObject <List <TaskItem> >(content);

                Assert.False(categories.Any(t => t.TaskItemID == newTask.TaskItemID));
            }
        }
示例#10
0
        public async Task <string> Account_Login()
        {
            using (var serverAndClient = new HttpServerAndClient <Startup>())
            {
                var content = new FormUrlEncodedContent(new[] {
                    new KeyValuePair <string, string>("userName", "*****@*****.**"),
                    new KeyValuePair <string, string>("password", "Password@123456"),
                    new KeyValuePair <string, string>("grant_type", "password")
                });

                var response = await serverAndClient.Client.PostAsync("token", content);

                var responseContent = await response.Content.ReadAsStringAsync();

                response.EnsureSuccessStatusCode();

                var json = (JObject)JsonConvert.DeserializeObject(responseContent);

                var token = json["access_token"].Value <string>();

                return(token);
            }
        }