public void AddSecondaryPhone() { Database.SetInitializer(new ManahostManagerInitializer()); using (ManahostManagerDAL prectx = new ManahostManagerDAL()) { prectx.Database.Delete(); } var phoneModel = new PhoneModel() { IsPrimary = false, Phone = "0874543215", Type = Domain.Entity.PhoneType.WORK }; using (var server = TestServer.Create<WebApiApplication>()) { HttpResponseMessage response = server.CreateRequest("/token").And((x) => x.Content = new StringContent(string.Format("grant_type=password&username={0}&password={1}&client_id=UNITTEST&client_secret=BLAHBLAHCAR", ControllerUtils.username, ControllerUtils.password), Encoding.UTF8, "application/x-www-form-urlencoded")).PostAsync().Result; TokenAuth token = response.Content.ReadAsAsync<TokenAuth>().Result; Assert.AreEqual(response.StatusCode, HttpStatusCode.OK, "Status Authentification"); var result = server.CreateRequest("/api/Account/Phone").And(x => { x.Content = new ObjectContent(typeof(PhoneModel), phoneModel, new JilFormatter()); x.Content.Headers.ContentType = new MediaTypeHeaderValue(GenericNames.APP_JSON); }).AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).PostAsync().Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Add Secondary Phone"); result = server.CreateRequest("/api/Account").AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).GetAsync().Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Get Account"); var msg = result.Content.ReadAsAsync<ExposeAccountModel>().Result; var SearchPhone = from phone in msg.SecondaryPhone where phone.Phone == phoneModel.Phone select phone; Assert.AreEqual(1, SearchPhone.Count(), "Count Secondary Phone"); var phoneModelPut = Factory.Create(SearchPhone.FirstOrDefault()); phoneModelPut.IsPrimary = false; phoneModelPut.Phone = "4545454545"; result = server.CreateRequest(String.Format("/Api/Account/Phone/{0}", SearchPhone.FirstOrDefault().Id)).And(x => { x.Content = new ObjectContent(typeof(PhoneModel), phoneModelPut, new JilFormatter()); x.Content.Headers.ContentType = new MediaTypeHeaderValue(GenericNames.APP_JSON); }).AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).SendAsync("PUT").Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Put Secondary Phone"); result = server.CreateRequest("/api/Account").AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).GetAsync().Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Get Account"); msg = result.Content.ReadAsAsync<ExposeAccountModel>().Result; SearchPhone = from phone in msg.SecondaryPhone where phone.Phone == "4545454545" select phone; Assert.AreEqual(1, SearchPhone.Count(), "Count Secondary Phone Check"); result = server.CreateRequest(string.Format("/api/Account/Phone/{0}", SearchPhone.FirstOrDefault().Id)).AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).SendAsync("DELETE").Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status DELETE PHONE NUMBER"); result = server.CreateRequest("/api/Account").AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).GetAsync().Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Get Account"); msg = result.Content.ReadAsAsync<ExposeAccountModel>().Result; Assert.AreEqual(0, msg.SecondaryPhone.Count()); } }
public void AddPrincipalPhone() { Database.SetInitializer(new ManahostManagerInitializer()); using (ManahostManagerDAL prectx = new ManahostManagerDAL()) { prectx.Database.Delete(); } var phoneModel = new PhoneModel() { IsPrimary = true, Phone = "0874543215", Type = Domain.Entity.PhoneType.MOBILE }; using (var server = TestServer.Create<WebApiApplication>()) { HttpResponseMessage response = server.CreateRequest("/token").And((x) => x.Content = new StringContent(string.Format("grant_type=password&username={0}&password={1}&client_id=UNITTEST&client_secret=BLAHBLAHCAR", ControllerUtils.username, ControllerUtils.password), Encoding.UTF8, "application/x-www-form-urlencoded")).PostAsync().Result; TokenAuth token = response.Content.ReadAsAsync<TokenAuth>().Result; Assert.AreEqual(response.StatusCode, HttpStatusCode.OK, "Status Authentication"); var result = server.CreateRequest("/api/Account").AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).GetAsync().Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Get Account For delete"); var msg = result.Content.ReadAsAsync<ExposeAccountModel>().Result; result = server.CreateRequest(string.Format("/api/Account/Phone/{0}", msg.PrincipalPhone.Id)).AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).SendAsync("DELETE").Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status DELETE PHONE NUMBER"); result = server.CreateRequest("/api/Account/Phone").And(x => { x.Content = new ObjectContent(typeof(PhoneModel), phoneModel, new JilFormatter()); x.Content.Headers.ContentType = new MediaTypeHeaderValue(GenericNames.APP_JSON); }).AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).PostAsync().Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Post New Principal Phone"); result = server.CreateRequest("/api/Account").AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).GetAsync().Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Get Account CHECK"); msg = result.Content.ReadAsAsync<ExposeAccountModel>().Result; Assert.AreEqual(phoneModel.Phone, msg.PrincipalPhone.Phone, "Check Principal Phone is Same PhoneNumber"); Assert.AreEqual(phoneModel.Type, msg.PrincipalPhone.PhoneType, "Check Principal Phone is Same Type"); var phonePutModel = Factory.Create(msg.PrincipalPhone); phonePutModel.IsPrimary = true; phonePutModel.Phone = "4242424242"; result = server.CreateRequest(String.Format("/Api/Account/Phone/{0}", msg.PrincipalPhone.Id)).And(x => { x.Content = new ObjectContent(typeof(PhoneModel), phonePutModel, new JilFormatter()); x.Content.Headers.ContentType = new MediaTypeHeaderValue(GenericNames.APP_JSON); }).AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).SendAsync("PUT").Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Put New Principal Phone"); result = server.CreateRequest("/api/Account").AddHeader("Authorization", new AuthenticationHeaderValue("Bearer", token.access_token).ToString()).GetAsync().Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode, "Status Get Account for Verif Principal Phone"); msg = result.Content.ReadAsAsync<ExposeAccountModel>().Result; Assert.AreEqual("4242424242", msg.PrincipalPhone.Phone, "Check Principal Phone is same Phone"); } }
public static PhoneNumber Create(PhoneModel model, int id) { return new PhoneNumber() { Id = id, Phone = model.Phone, PhoneType = model.Type }; }