コード例 #1
0
        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);
        }
コード例 #2
0
        public void Options_DataCorrect_Got2Options()
        {
            var decision = EntityDecisionFaker.Create();

            EntityDecisionOptionFaker.CreateMany(2, decision);

            Assert.AreEqual(2, decision.Options().Length);
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        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));
        }