Skip to content

Commit

Permalink
Merge 57ba7df into 35f5f59
Browse files Browse the repository at this point in the history
  • Loading branch information
mattwr18 committed Feb 21, 2019
2 parents 35f5f59 + 57ba7df commit 133290e
Show file tree
Hide file tree
Showing 9 changed files with 391 additions and 11,379 deletions.
149 changes: 149 additions & 0 deletions cypress/fixtures/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
{
"project": {
"id": 3,
"title": "LocalSupport",
"description": "VAH's Local Support site is at www.harrowcn.org.uk",
"status": "Active",
"created_at": "2018-10-18T20:54:13.525Z",
"updated_at": "2018-10-18T20:54:13.525Z",
"user_id": 3,
"slug": "localsupport",
"github_url": "https://github.com/AgileVentures/LocalSupport/",
"pivotaltracker_url": "https://www.pivotaltracker.com/n/projects/742821",
"pitch": null,
"commit_count": 3655,
"image_url": null,
"last_github_update": null,
"slack_channel_name": null,
"tag_list": [],
"languages": ["Ruby"]
},
"sourceRepositories": [
{
"id": 87,
"url": "https://github.com/AgileVentures/LocalSupport/",
"project_id": 3,
"created_at": "2017-09-27T15:01:53.109Z",
"updated_at": "2017-09-27T15:01:53.109Z"
}
],
"members": [
{
"id": 1,
"first_name": "Ellaria",
"last_name": "Sand"
},
{
"id": 2,
"slug": "brienne-of-tarth"
},
{
"id": 3,
"first_name": "Missandei"
},
{
"id": 4,
"first_name": "Daenerys",
"last_name": "Targaryen"
},
{
"id": 5,
"first_name": "Arya",
"last_name": "Stark"
}
],
"membersGravatarUrl": {
"ellaria-sand": "https://www.gravatar.com/avatar/9249736dae1898d537770886061c06f9?s=32&d=retro",
"brienne-of-tarth": "https://www.gravatar.com/avatar/9249736dae1898d537770886061c06f9?s=32&d=retro",
"missandei": "https://www.gravatar.com/avatar/9249736dae1898d537770886061c06f9?s=32&d=retro",
"daenerys-targaryen": "https://www.gravatar.com/avatar/9249736dae1898d537770886061c06f9?s=32&d=retro",
"arya-stark": "https://www.gravatar.com/avatar/9249736dae1898d537770886061c06f9?s=32&d=retro"
},
"videos": [
{
"id": 6703,
"event_id": 2695,
"title": "LocalSupport Kick Off/Retro - Thursday, 1st Mar at 04:30pm (UTC)",
"hangout_url": "https://hangouts.google.com/hangouts/_/ytl/q83BUQXt7X1whr7PAwNl8BSJ_A66k0-mrJmUMvK2Gok=",
"created_at": "2018-03-01T16:35:49.591Z",
"updated_at": "2018-03-01T16:36:05.691Z",
"uid": "300-48f3b016-4710-4466-b308-8fa058cf19cd",
"category": "Scrum",
"project_id": 3,
"user_id": 3,
"yt_video_id": "oXg6FcuJ6lw",
"participants": null,
"hoa_status": null,
"url_set_directly": true,
"youtube_tweet_sent": null
},
{
"id": 6704,
"event_id": 2695,
"title": "LocalSupport Kick Off/Retro - Thursday, 1st Mar at 04:30pm (UTC)",
"hangout_url": "https://hangouts.google.com/hangouts/_/ytl/q83BUQXt7X1whr7PAwNl8BSJ_A66k0-mrJmUMvK2Gok=",
"created_at": "2018-03-01T16:35:49.591Z",
"updated_at": "2018-03-01T16:36:05.691Z",
"uid": "300-48f3b016-4710-4466-b308-8fa058cf19cd",
"category": "Scrum",
"project_id": 3,
"user_id": 3,
"yt_video_id": "oXg6FcuJ6lw",
"participants": null,
"hoa_status": null,
"url_set_directly": true,
"youtube_tweet_sent": null
},
{
"id": 6705,
"event_id": 2695,
"title": "LocalSupport Kick Off/Retro - Thursday, 1st Mar at 04:30pm (UTC)",
"hangout_url": "https://hangouts.google.com/hangouts/_/ytl/q83BUQXt7X1whr7PAwNl8BSJ_A66k0-mrJmUMvK2Gok=",
"created_at": "2018-03-01T16:35:49.591Z",
"updated_at": "2018-03-01T16:36:05.691Z",
"uid": "300-48f3b016-4710-4466-b308-8fa058cf19cd",
"category": "Scrum",
"project_id": 3,
"user_id": 3,
"yt_video_id": "oXg6FcuJ6lw",
"participants": null,
"hoa_status": null,
"url_set_directly": true,
"youtube_tweet_sent": null
},
{
"id": 6706,
"event_id": 2695,
"title": "LocalSupport Kick Off/Retro - Thursday, 1st Mar at 04:30pm (UTC)",
"hangout_url": "https://hangouts.google.com/hangouts/_/ytl/q83BUQXt7X1whr7PAwNl8BSJ_A66k0-mrJmUMvK2Gok=",
"created_at": "2018-03-01T16:35:49.591Z",
"updated_at": "2018-03-01T16:36:05.691Z",
"uid": "300-48f3b016-4710-4466-b308-8fa058cf19cd",
"category": "Scrum",
"project_id": 3,
"user_id": 3,
"yt_video_id": "oXg6FcuJ6lw",
"participants": null,
"hoa_status": null,
"url_set_directly": true,
"youtube_tweet_sent": null
},
{
"id": 6707,
"event_id": 2695,
"title": "LocalSupport Kick Off/Retro - Thursday, 1st Mar at 04:30pm (UTC)",
"hangout_url": "https://hangouts.google.com/hangouts/_/ytl/q83BUQXt7X1whr7PAwNl8BSJ_A66k0-mrJmUMvK2Gok=",
"created_at": "2018-03-01T16:35:49.591Z",
"updated_at": "2018-03-01T16:36:05.691Z",
"uid": "300-48f3b016-4710-4466-b308-8fa058cf19cd",
"category": "Scrum",
"project_id": 3,
"user_id": 3,
"yt_video_id": "oXg6FcuJ6lw",
"participants": null,
"hoa_status": null,
"url_set_directly": true,
"youtube_tweet_sent": null
}
]
}
21 changes: 21 additions & 0 deletions cypress/fixtures/projects.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[
{
"id": 3,
"title": "LocalSupport",
"description": "VAH's Local Support site is at www.harrowcn.org.uk",
"status": "Active",
"created_at": "2018-10-18T20:54:13.525Z",
"updated_at": "2018-10-18T20:54:13.525Z",
"user_id": 3,
"slug": "localsupport",
"github_url": "https://github.com/AgileVentures/LocalSupport/",
"pivotaltracker_url": "https://www.pivotaltracker.com/n/projects/742821",
"pitch": null,
"commit_count": 3655,
"image_url": null,
"last_github_update": null,
"slack_channel_name": null,
"tag_list": [],
"languages": ["Ruby"]
}
]
60 changes: 56 additions & 4 deletions cypress/integration/common/web_steps.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,65 @@
import { Then, Given } from 'cypress-cucumber-preprocessor/steps'
import { Then, Given, When } from 'cypress-cucumber-preprocessor/steps'

Then(`I should see {string}`, (textToFind) => {
Then(`I should see {string}`, textToFind => {
cy.contains(textToFind)
})

Given(`I am at the {string} page`, (pageName) => {
Given(`I am at the {string} page`, pageName => {
if (pageName === 'Home') {
cy.visit('/')
} else {
cy.fail('unknown page \'' + pageName + '\'')
cy.visit('/' + pageName)
}
})

Given('I am at the projects page', () => {
cy.server()
cy.fixture('projects').then(projects => {
cy.route(
/\/api\/v1\/projects/,
projects
).as('getProjects')
cy.visit('/projects')
cy.window()
.its('store')
.invoke('dispatch', { type: 'GET_PROJECTS', payload: projects })
})
cy.wait('@getProjects')
})

When('I click on the LocalSupport project', () => {
cy.server()
cy.fixture('project').then(project => {
cy.route(/\/api\/v1\/projects\/localsupport/, project).as('getProject')
cy.get('div')
.contains('LocalSupport')
.click({ force: true })
cy.window()
.its('store')
.invoke('dispatch', { type: 'GET_PROJECT_INFO', payload: project })
})
cy.wait('@getProject')
cy.reload()
})

Then("I should be on the LocalSupport Project's info page", () => {
cy.get('h1').contains('LocalSupport')
})

Then(
'I should see the tracker link, the github repositories links, a small description, a members list, and a video wall',
() => {
cy.get("a[href='https://www.pivotaltracker.com/n/projects/742821']")
.get("a[href='https://github.com/AgileVentures/LocalSupport/']")
.get('div.segment > h5')
.contains("VAH's Local Support site is at www.harrowcn.org.uk")
.get('div')
.contains('Members')
.get('div.row > img')
.should('have.length', 5)
.get('.project-info-videos')
.within(() => {
cy.get('div.embed').should('have.length', 5)
})
}
)
7 changes: 7 additions & 0 deletions cypress/integration/projectsInfo.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Feature: Project's info page

Scenario: Access a Project's info page
Given I am at the projects page
When I click on the LocalSupport project
Then I should be on the LocalSupport Project's info page
And I should see the tracker link, the github repositories links, a small description, a members list, and a video wall
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@
"license": "MIT",
"scripts": {
"start": "webpack-dev-server --mode development --open",
"start-test-server": "webpack-dev-server --mode development --port 8082",
"build": "webpack --mode production",
"fix": "standard --fix",
"test": "export NODE_ENV=testing && standard && jest",
"coveralls": "cat ./coverage/lcov.info | coveralls",
"cypress:ci": "cypress run",
"cypress:local": "cypress open --config baseUrl=http://localhost:8082",
"cypress:install": "cypress install",
"e2e:local": "cypress run --headed",
"e2e:local": "start-server-and-test start-test-server http://localhost:8082 cypress:local",
"e2e:ci": "npm-run-all --parallel --race start:ci 'cypress:ci --config baseUrl=http://localhost:8082'",
"start:ci": "webpack-dev-server --config ./webpack.config.js --port 8082 --mode production",
"now-build": "yarn build"
Expand Down Expand Up @@ -70,6 +72,7 @@
"regenerator-runtime": "^0.13.1",
"sass-loader": "^7.1.0",
"standard": "^12.0.1",
"start-server-and-test": "^1.7.11",
"style-loader": "^0.23.1",
"url-loader": "^1.1.2",
"webpack": "^4.27.1",
Expand Down
2 changes: 0 additions & 2 deletions src/actions/getProjectInfoAction.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@ export let fetchProjectInfo = slug => dispatch => {
return axios.get(`api/v1/projects/${slug}`).then(response => {
let {
project,
projectManager,
sourceRepositories,
members,
membersGravatarUrl,
videos
} = response.data
project.projectManager = projectManager
project.sourceRepositories = sourceRepositories
project.members = members
project.membersGravatarUrl = membersGravatarUrl
Expand Down
4 changes: 4 additions & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,7 @@ render(
,
document.getElementById('root')
)

if (window.Cypress) {
window.store = store
}

0 comments on commit 133290e

Please sign in to comment.