|
13 | 13 | * See the License for the specific language governing permissions and
|
14 | 14 | * limitations under the License.
|
15 | 15 | */
|
| 16 | +const moment = require("moment-timezone"); |
16 | 17 | describe('Skills Display Badges Tests', () => {
|
17 | 18 | beforeEach(() => {
|
18 | 19 | Cypress.env('disabledUILoginProp', true);
|
@@ -272,4 +273,77 @@ describe('Skills Display Badges Tests', () => {
|
272 | 273 | cy.get('[data-cy="toggleSkillDetails"]').click()
|
273 | 274 | cy.get('[data-cy="skillDescription-skill1"] [data-cy="pointsPerOccurrenceCard"] [data-cy="mediaInfoCardTitle"]')
|
274 | 275 | });
|
| 276 | + |
| 277 | + it('badge with an expiring gem', () => { |
| 278 | + cy.resetDb(); |
| 279 | + cy.fixture('vars.json') |
| 280 | + .then((vars) => { |
| 281 | + if (!Cypress.env('oauthMode')) { |
| 282 | + cy.register(Cypress.env('proxyUser'), vars.defaultPass, false); |
| 283 | + } |
| 284 | + }); |
| 285 | + cy.loginAsProxyUser(); |
| 286 | + cy.createProject(1); |
| 287 | + cy.createSubject(1, 1); |
| 288 | + cy.createSkill(1, 1, 1, { name: 'Search blah skill 1' }); |
| 289 | + cy.createSkill(1, 1, 2, { name: 'is a skill 2' }); |
| 290 | + cy.createSkill(1, 1, 3, { name: 'find Blah other skill 3' }); |
| 291 | + cy.createSkill(1, 1, 4, { name: 'Search nothing skill 4' }); |
| 292 | + |
| 293 | + const anHourAgo = new Date().getTime() - (1000 * 60 * 60) |
| 294 | + const twoDaysAgo = new Date().getTime() - (1000 * 60 * 60 * 48) |
| 295 | + const tomorrow = moment.utc().add(1, 'day').format('YYYY-MM-DD[T]HH:mm:ss[Z]'); |
| 296 | + const twoDaysAgoMoment = moment.utc().subtract(2, 'day').format('YYYY-MM-DD[T]HH:mm:ss[Z]') |
| 297 | + |
| 298 | + cy.createBadge(1, 1) |
| 299 | + cy.assignSkillToBadge(1, 1, 1); |
| 300 | + cy.createBadge(1, 1, { enabled: true, startDate: twoDaysAgoMoment, endDate: tomorrow }) |
| 301 | + |
| 302 | + cy.reportSkill(1, 1, Cypress.env('proxyUser'), twoDaysAgo); |
| 303 | + cy.reportSkill(1, 1, Cypress.env('proxyUser'), anHourAgo); // achieve badge |
| 304 | + |
| 305 | + cy.cdVisit('/', true); |
| 306 | + cy.cdClickBadges(); |
| 307 | + cy.get('[data-cy=achievedBadges]').contains('Badge 1'); |
| 308 | + |
| 309 | + cy.get('[data-cy="earnedBadgeLink_badge1"]').click(); |
| 310 | + cy.get('[data-cy="badge_badge1_gem"]').contains('Expires in a day') |
| 311 | + }); |
| 312 | + |
| 313 | + it('badge with an expired gem', () => { |
| 314 | + cy.resetDb(); |
| 315 | + cy.fixture('vars.json') |
| 316 | + .then((vars) => { |
| 317 | + if (!Cypress.env('oauthMode')) { |
| 318 | + cy.register(Cypress.env('proxyUser'), vars.defaultPass, false); |
| 319 | + } |
| 320 | + }); |
| 321 | + cy.loginAsProxyUser(); |
| 322 | + cy.createProject(1); |
| 323 | + cy.createSubject(1, 1); |
| 324 | + cy.createSkill(1, 1, 1, { name: 'Search blah skill 1' }); |
| 325 | + cy.createSkill(1, 1, 2, { name: 'is a skill 2' }); |
| 326 | + cy.createSkill(1, 1, 3, { name: 'find Blah other skill 3' }); |
| 327 | + cy.createSkill(1, 1, 4, { name: 'Search nothing skill 4' }); |
| 328 | + |
| 329 | + const anHourAgo = new Date().getTime() - (1000 * 60 * 60) |
| 330 | + const twoDaysAgo = new Date().getTime() - (1000 * 60 * 60 * 48) |
| 331 | + const yesterday = moment.utc().subtract(1, 'day').format('YYYY-MM-DD[T]HH:mm:ss[Z]') |
| 332 | + const twoDaysAgoMoment = moment.utc().subtract(2, 'day').format('YYYY-MM-DD[T]HH:mm:ss[Z]') |
| 333 | + |
| 334 | + cy.createBadge(1, 1) |
| 335 | + cy.assignSkillToBadge(1, 1, 1); |
| 336 | + cy.createBadge(1, 1, { enabled: true, startDate: twoDaysAgoMoment, endDate: yesterday }) |
| 337 | + |
| 338 | + cy.reportSkill(1, 1, Cypress.env('proxyUser'), twoDaysAgo); |
| 339 | + cy.reportSkill(1, 1, Cypress.env('proxyUser'), anHourAgo); // achieve badge |
| 340 | + |
| 341 | + cy.cdVisit('/', true); |
| 342 | + cy.cdClickBadges(); |
| 343 | + cy.get('[data-cy=availableBadges]').contains('Badge 1'); |
| 344 | + cy.get('[data-cy="badge_badge1_gem"]').contains('Expired a day ago') |
| 345 | + |
| 346 | + cy.get('[data-cy="badgeDetailsLink_badge1"]').click(); |
| 347 | + cy.get('[data-cy="badge_badge1_gem"]').contains('Expired a day ago') |
| 348 | + }); |
275 | 349 | })
|
0 commit comments