()
| 148 | } |
| 149 | |
| 150 | func (s *DatabaseSuite) TestGetMessagesSince() { |
| 151 | user := &model.User{Name: "test", Pass: []byte{1}} |
| 152 | require.NoError(s.T(), s.db.CreateUser(user)) |
| 153 | |
| 154 | app := &model.Application{UserID: user.ID, Token: "A0000000000"} |
| 155 | app2 := &model.Application{UserID: user.ID, Token: "A0000000001"} |
| 156 | require.NoError(s.T(), s.db.CreateApplication(app)) |
| 157 | require.NoError(s.T(), s.db.CreateApplication(app2)) |
| 158 | |
| 159 | curDate := time.Now() |
| 160 | for i := 1; i <= 500; i++ { |
| 161 | s.db.CreateMessage(&model.Message{ApplicationID: app.ID, Message: "abc", Date: curDate.Add(time.Duration(i) * time.Second)}) |
| 162 | s.db.CreateMessage(&model.Message{ApplicationID: app2.ID, Message: "abc", Date: curDate.Add(time.Duration(i) * time.Second)}) |
| 163 | } |
| 164 | |
| 165 | actual, err := s.db.GetMessagesByUserSince(user.ID, 50, 0) |
| 166 | require.NoError(s.T(), err) |
| 167 | assert.Len(s.T(), actual, 50) |
| 168 | hasIDInclusiveBetween(s.T(), actual, 1000, 951, 1) |
| 169 | |
| 170 | actual, err = s.db.GetMessagesByUserSince(user.ID, 50, 951) |
| 171 | require.NoError(s.T(), err) |
| 172 | assert.Len(s.T(), actual, 50) |
| 173 | hasIDInclusiveBetween(s.T(), actual, 950, 901, 1) |
| 174 | |
| 175 | actual, err = s.db.GetMessagesByUserSince(user.ID, 100, 951) |
| 176 | require.NoError(s.T(), err) |
| 177 | assert.Len(s.T(), actual, 100) |
| 178 | hasIDInclusiveBetween(s.T(), actual, 950, 851, 1) |
| 179 | |
| 180 | actual, err = s.db.GetMessagesByUserSince(user.ID, 100, 51) |
| 181 | require.NoError(s.T(), err) |
| 182 | assert.Len(s.T(), actual, 50) |
| 183 | hasIDInclusiveBetween(s.T(), actual, 50, 1, 1) |
| 184 | |
| 185 | actual, err = s.db.GetMessagesByApplicationSince(app.ID, 50, 0) |
| 186 | require.NoError(s.T(), err) |
| 187 | assert.Len(s.T(), actual, 50) |
| 188 | hasIDInclusiveBetween(s.T(), actual, 999, 901, 2) |
| 189 | |
| 190 | actual, err = s.db.GetMessagesByApplicationSince(app.ID, 50, 901) |
| 191 | require.NoError(s.T(), err) |
| 192 | assert.Len(s.T(), actual, 50) |
| 193 | hasIDInclusiveBetween(s.T(), actual, 899, 801, 2) |
| 194 | |
| 195 | actual, err = s.db.GetMessagesByApplicationSince(app.ID, 100, 666) |
| 196 | require.NoError(s.T(), err) |
| 197 | assert.Len(s.T(), actual, 100) |
| 198 | hasIDInclusiveBetween(s.T(), actual, 665, 467, 2) |
| 199 | |
| 200 | actual, err = s.db.GetMessagesByApplicationSince(app.ID, 100, 101) |
| 201 | require.NoError(s.T(), err) |
| 202 | assert.Len(s.T(), actual, 50) |
| 203 | hasIDInclusiveBetween(s.T(), actual, 99, 1, 2) |
| 204 | |
| 205 | actual, err = s.db.GetMessagesByApplicationSince(app2.ID, 50, 0) |
| 206 | require.NoError(s.T(), err) |
| 207 | assert.Len(s.T(), actual, 50) |
nothing calls this directly
no test coverage detected