testGetAllStaredMessages()   B
last analyzed

Complexity

Conditions 4

Size

Total Lines 23

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 23
rs 8.7972
cc 4
1
package com.base.Services;
2
3
import com.base.AbstractBaseTest;
4
import com.base.Base;
5
import com.base.Exceptions.BaseHttpException;
6
import com.base.Exceptions.TeamNotFound;
7
import com.base.Http.Request.Request;
8
import com.base.Http.Response.Response;
9
import com.base.Http.Server.Responses.Team.*;
10
import com.base.Models.Message;
11
import com.base.Models.Team;
12
import org.junit.Assert;
13
import org.junit.Test;
14
15
import java.util.ArrayList;
16
import java.util.HashMap;
17
import java.util.List;
18
19
public class TeamServiceTest extends AbstractBaseTest {
20
21
    /**
22
     * Test case for Create Team
23
     *
24
     * @throws BaseHttpException
25
     */
26
    @Test
27
    public void testTeamCreate() throws BaseHttpException {
28
29
        HashMap<String, String> parameters = new HashMap<>();
30
        parameters.put("name", CreateTeamResponse.VALID_NAME);
31
        parameters.put("description", CreateTeamResponse.VALID_DESCRIPTION);
32
33
        Response response = this.base.sendRequest("/teams", Request.METHOD_POST, parameters);
34
        Team team = (Team) Base.makeModel(Team.class, response.getBody());
35
        Assert.assertEquals(team.getName(), CreateTeamResponse.VALID_NAME);
36
        Assert.assertEquals(team.getInvitation_code(), CreateTeamResponse.VALID_INVITATION_CODE);
37
        Assert.assertEquals(team.getDescription(), CreateTeamResponse.VALID_DESCRIPTION);
38
    }
39
40
    /**
41
     * @throws BaseHttpException
42
     * @throws TeamNotFound
43
     */
44
    @Test
45
    public void testGetTeam() throws BaseHttpException, TeamNotFound {
46
        try {
47
            Team team = base.teamService().getTeam(GetTeamResponse.VALID_TEAM_SLUG);
48
            Assert.assertEquals(team.getName(), GetTeamResponse.VALID_NAME);
49
            Assert.assertEquals(team.getDescription(), GetTeamResponse.VALID_DESCRIPTION);
50
            Assert.assertEquals(team.getSlug(), GetTeamResponse.VALID_TEAM_SLUG);
51
            Assert.assertEquals(team.getInvitation_code(), GetTeamResponse.VALID_INVITATION_CODE);
52
            Assert.assertEquals(team.getId(), GetTeamResponse.VALID_ID);
53
        } catch (TeamNotFound e) {
54
            Assert.fail(e.getMessage());
55
        }
56
    }
57
58
    @Test
59
    public void testGetAllTeams() throws BaseHttpException, TeamNotFound {
60
61
        List<Team> teams = new ArrayList<>();
62
63
        for (int i = 1; i <= 3; i++) {
64
            teams.add((Team) new Team().setInvitation_code(GetTeamResponse.VALID_INVITATION_CODE)
65
                    .setName(GetAllTeamsResponse.VALID_NAME.concat(" " + i))
66
                    .setDescription(GetAllTeamsResponse.VALID_DESCRIPTION)
67
                    .setSlug(GetAllTeamsResponse.VALID_TEAM_SLUG.concat("-" + i))
68
                    .setId(GetAllTeamsResponse.VALID_ID));
69
        }
70
71
        List<Team> ActualTeam = base.teamService().getAllTeams();
72
        for (int i = 0; i < ActualTeam.size(); i++) {
73
            String actualName = ActualTeam.get(i).getName();
74
            String expectName = teams.get(i).getName();
75
            Assert.assertEquals(actualName, expectName);
76
        }
77
    }
78
79
    @Test
80
    public void testTeamUpdate() throws BaseHttpException {
81
82
        HashMap<String, String> parameters = new HashMap<>();
83
        parameters.put("name", UpdateTeamResponse.VALID_NAME);
84
        parameters.put("description", UpdateTeamResponse.VALID_DESCRIPTION);
85
86
        Response response = this.base.sendRequest("/teams/".concat(UpdateTeamResponse.VALID_SLUG), Request.METHOD_PATCH, parameters);
87
        Team team = (Team) Base.makeModel(Team.class, response.getBody());
88
        Assert.assertEquals(team.getName(), UpdateTeamResponse.VALID_NAME);
89
        Assert.assertEquals(team.getInvitation_code(), UpdateTeamResponse.VALID_INVITATION_CODE);
90
        Assert.assertEquals(team.getDescription(), UpdateTeamResponse.VALID_DESCRIPTION);
91
        Assert.assertEquals(team.getId(), UpdateTeamResponse.VALID_ID);
92
    }
93
94
    @Test
95
    public void getDeleteTeam() throws TeamNotFound {
96
        boolean result = base.teamService().deleteTeam(DeleteTeamResponse.VALID_TEAM_SLUG);
97
        Assert.assertEquals(true, result);
98
    }
99
100
    @Test
101
    public void testGetAllStaredMessages() throws BaseHttpException, TeamNotFound {
102
103
        List<Message> messages = new ArrayList<>();
104
        for (int i = 1; i <= 3; i++) {
105
            messages.add((Message) new Message().setContent("")
106
                    .setThread_id(ListStaredMessagesResponse.VALID_TEAM_SLUG.concat("" + i))
107
                    .setContent(ListStaredMessagesResponse.VALID_CONTENT)
108
                    .setSlug(ListStaredMessagesResponse.VALID_MESSAGE_SLUG.concat("" + i))
109
                    .setSender_id(ListStaredMessagesResponse.VALID_SENDER_ID.concat("" + i))
110
                    .setSender_type(ListStaredMessagesResponse.VALID_SENDER_TYPE)
111
                    .setType(ListStaredMessagesResponse.VALID_TYPE)
112
                    .setId(ListStaredMessagesResponse.VALID_ID + i));
113
        }
114
        try {
115
            List<Message> ActualTeam = base.teamService().getAllStarredMessages(ListStaredMessagesResponse.VALID_TEAM_SLUG);
116
            for (int i = 0; i < ActualTeam.size(); i++) {
117
                String actualName = ActualTeam.get(i).getSender_id();
118
                String expectName = messages.get(i).getSender_id();
119
                Assert.assertEquals(actualName, expectName);
120
            }
121
        } catch (TeamNotFound e) {
122
            Assert.fail(e.getMessage());
123
        }
124
    }
125
126
}
127