blob: 302f61c746867b0468ff64ca328c5ac7595a6256 [file] [log] [blame]
Kateryna Kostiuke500a8e2020-10-01 10:24:00 -04001/*
2* Copyright (C) 2020 Savoir-faire Linux Inc.
3*
4* Author: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
5*
6* This program is free software; you can redistribute it and/or modify
7* it under the terms of the GNU General Public License as published by
8* the Free Software Foundation; either version 3 of the License, or
9* (at your option) any later version.
10*
11* This program is distributed in the hope that it will be useful,
12* but WITHOUT ANY WARRANTY; without even the implied warranty of
13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14* GNU General Public License for more details.
15*
16* You should have received a copy of the GNU General Public License
17* along with this program; if not, write to the Free Software
18* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19*/
20
21import XCTest
22@testable import Ring
23
24class ConferenceMenuItemsManagerTest: XCTestCase {
25
26 override func setUp() {
27 super.setUp()
28 }
29
30 override func tearDown() {
31 super.tearDown()
32 }
33
34 func testGetMenuItemsForMasterCallNil() {
35 let manager = ConferenceMenuItemsManager()
36 let conference: CallModel? = nil
37 let active = true
38 XCTAssertTrue(manager.getMenuItemsForMasterCall(conference: conference, active: active) == MenuMode.onlyName)
39 }
40
41 func testGetMenuItemsForeMasterCallWithoutActiveCall() {
42 let manager = ConferenceMenuItemsManager()
43 let conference = CallModel()
44 let active: Bool? = nil
45 XCTAssertTrue(manager.getMenuItemsForMasterCall(conference: conference, active: active) == MenuMode.onlyName)
46 }
47
48 func testGetMenuItemsForMasterCallWithConferenceGridLayout() {
49 let manager = ConferenceMenuItemsManager()
50 let conference = CallModel()
51 conference.layout = .grid
52 let active = true
53 XCTAssertTrue(manager.getMenuItemsForMasterCall(conference: conference, active: active) == MenuMode.withoutHangUPAndMinimize)
54 }
55
56 func testGetMenuItemsForActiveMasterCallWithConferenceOneWithSmalLayout() {
57 let manager = ConferenceMenuItemsManager()
58 let conference = CallModel()
59 conference.layout = .oneWithSmal
60 let active = true
61 XCTAssertTrue(manager.getMenuItemsForMasterCall(conference: conference, active: active) == MenuMode.withoutHangUp)
62 }
63
64 func testGetMenuItemsForNotActiveMasterCallWithConferenceOneWithSmalLayout() {
65 let manager = ConferenceMenuItemsManager()
66 let conference = CallModel()
67 conference.layout = .oneWithSmal
68 let active = false
69 XCTAssertTrue(manager.getMenuItemsForMasterCall(conference: conference, active: active) == MenuMode.withoutHangUPAndMinimize)
70 }
71
72 func testGetMenuItemsForActiveMasterCallWithConferenceOneLayout() {
73 let manager = ConferenceMenuItemsManager()
74 let conference = CallModel()
75 conference.layout = .one
76 let active = true
77 XCTAssertTrue(manager.getMenuItemsForMasterCall(conference: conference, active: active) == MenuMode.withoutHangUPAndMaximize)
78 }
79
80 func testGetMenuItemsForNotActiveMasterCallWithConferenceOneLayout() {
81 let manager = ConferenceMenuItemsManager()
82 let conference = CallModel()
83 conference.layout = .one
84 let active = false
85 XCTAssertTrue(manager.getMenuItemsForMasterCall(conference: conference, active: active) == MenuMode.withoutHangUPAndMinimize)
86 }
87
88 func testGetMenuItemsForNilConference() {
89 let manager = ConferenceMenuItemsManager()
90 let conference: CallModel? = nil
91 let call: CallModel? = CallModel()
92 let active = true
93 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.onlyName)
94 }
95
96 func testGetMenuItemsForNilCall() {
97 let manager = ConferenceMenuItemsManager()
98 let conference: CallModel? = CallModel()
99 let call: CallModel? = nil
100 let active = true
101 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.onlyName)
102 }
103
104 func testGetMenuItemsWithoutActiveCall() {
105 let manager = ConferenceMenuItemsManager()
106 let conference: CallModel? = CallModel()
107 let call: CallModel? = CallModel()
108 call?.state = .current
109 let active: Bool? = nil
110 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.onlyName)
111 }
112
113 func testGetMenuItemsForConnectingCall() {
114 let manager = ConferenceMenuItemsManager()
115 let conference: CallModel? = CallModel()
116 let call: CallModel? = CallModel()
117 call?.state = .connecting
118 let active: Bool? = true
119 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.withoutMaximizeAndMinimize)
120 }
121
122 func testGetMenuItemsForRingingCall() {
123 let manager = ConferenceMenuItemsManager()
124 let conference: CallModel? = CallModel()
125 let call: CallModel? = CallModel()
126 call?.state = .ringing
127 let active: Bool? = true
128 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.withoutMaximizeAndMinimize)
129 }
130
131 func testGetMenuItemsForHoldingCall() {
132 let manager = ConferenceMenuItemsManager()
133 let conference: CallModel? = CallModel()
134 let call: CallModel? = CallModel()
135 call?.state = .hold
136 let active: Bool? = true
137 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.withoutMaximizeAndMinimize)
138 }
139
140 func testGetMenuItemsForCallWithConferenceGridLayout() {
141 let manager = ConferenceMenuItemsManager()
142 let conference: CallModel? = CallModel()
143 conference?.layout = .grid
144 let call: CallModel? = CallModel()
145 call?.state = .current
146 let active: Bool? = true
147 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.withoutMinimize)
148 }
149
150 func testGetMenuItemsForActiveCallWithConferenceOneWithSmalLayout() {
151 let manager = ConferenceMenuItemsManager()
152 let conference: CallModel? = CallModel()
153 conference?.layout = .oneWithSmal
154 let call: CallModel? = CallModel()
155 call?.state = .current
156 let active: Bool? = true
157 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.all)
158 }
159
160 func testGetMenuItemsForNotActiveCallWithConferenceOneWithSmalLayout() {
161 let manager = ConferenceMenuItemsManager()
162 let conference: CallModel? = CallModel()
163 conference?.layout = .oneWithSmal
164 let call: CallModel? = CallModel()
165 call?.state = .current
166 let active: Bool? = false
167 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.withoutMinimize)
168 }
169
170 func testGetMenuItemsForActiveCallWithConferenceOneLayout() {
171 let manager = ConferenceMenuItemsManager()
172 let conference: CallModel? = CallModel()
173 conference?.layout = .one
174 let call: CallModel? = CallModel()
175 call?.state = .current
176 let active: Bool? = true
177 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.withoutMaximize)
178 }
179
180 func testGetMenuItemsForNotActiveCallWithConferenceOneLayout() {
181 let manager = ConferenceMenuItemsManager()
182 let conference: CallModel? = CallModel()
183 conference?.layout = .one
184 let call: CallModel? = CallModel()
185 call?.state = .current
186 let active: Bool? = false
187 XCTAssertTrue(manager.getMenuItemsFor(call: call, conference: conference, active: active) == MenuMode.withoutMinimize)
188 }
189}