public void Edit_DataCorrect_StatusUpdated() { var user = UserFaker.Create(); var decision = EntityDecisionFaker.Create(user); Assert.AreEqual(DecisionStatus.Open, decision.status); Assert.NotNull(decision); var result = new Browser(new DefaultNancyBootstrapper()) .Patch("/api/v1/entity/decision/edit", with => { with.HttpRequest(); with.Query("api_token", Jwt.FromUserId(user.id)); with.Query("decision_guid", decision.guid); with.Query("new_status", DecisionStatus.Canceled.ToString()); }).Result; var body = JObject.Parse(result.Body.AsString()); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); Assert.IsNotEmpty(body["data"]["decision"].ToString()); decision = decision.Refresh(); Assert.AreEqual(DecisionStatus.Canceled, decision.status); }
public void Options_DataCorrect_Got2Options() { var decision = EntityDecisionFaker.Create(); EntityDecisionOptionFaker.CreateMany(2, decision); Assert.AreEqual(2, decision.Options().Length); }
public void Delete_DataCorrect_DecisionDeleted() { var user = UserFaker.Create(); var decision = EntityDecisionFaker.Create(user); var result = new Browser(new DefaultNancyBootstrapper()) .Delete("/api/v1/entity/decision/delete", with => { with.HttpRequest(); with.Query("api_token", Jwt.FromUserId(user.id)); with.Query("decision_guid", decision.guid); }).Result; JObject.Parse(result.Body.AsString()); Assert.IsNull(decision.Refresh()); }
public void Vote_DataCorrect_VoteRecorded() { var user = UserFaker.Create(); var decision = EntityDecisionFaker.Create(user); var option = EntityDecisionOptionFaker.Create(decision); Assert.IsNull(option.UserVote(user)); var result = new Browser(new DefaultNancyBootstrapper()) .Post("/api/v1/entity/decision/vote", with => { with.HttpRequest(); with.Query("api_token", Jwt.FromUserId(user.id)); with.Query("option_guid", option.guid); }).Result; JObject.Parse(result.Body.AsString()); Assert.NotNull(option.UserVote(user)); }
public void GetActive_DataCorrect_GotData() { var decision = EntityDecisionFaker.Create(); Assert.NotNull(decision); var entityGuid = EntityUtils.GetEntityGuid(decision.entity_id, decision.entity_type); var result = new Browser(new DefaultNancyBootstrapper()) .Get("/api/v1/entity/decisions/active/get", with => { with.HttpRequest(); with.Query("entity_guid", entityGuid); with.Query("entity_type", EntityType.Project.ToString()); }).Result; var body = JObject.Parse(result.Body.AsString()); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); Assert.IsNotEmpty(body["data"]["decisions"].ToString()); }
public void Vote_WithActiveVote_VoteRewritten() { var user = UserFaker.Create(); var decision = EntityDecisionFaker.Create(user); var options = EntityDecisionOptionFaker.CreateMany(2, decision); EntityDecisionVoteFaker.Create(options[0], user); Assert.NotNull(options[0].UserVote(user)); var result = new Browser(new DefaultNancyBootstrapper()) .Post("/api/v1/entity/decision/vote", with => { with.HttpRequest(); with.Query("api_token", Jwt.FromUserId(user.id)); with.Query("option_guid", options[1].guid); }).Result; JObject.Parse(result.Body.AsString()); Assert.IsNull(options[0].UserVote(user)); Assert.NotNull(options[1].UserVote(user)); }