Commit 977d1ca7 authored by Bryce Johnson's avatar Bryce Johnson

Add stubs for integration and unit tests.

parent 7a660f80
......@@ -162,6 +162,8 @@ feature 'Merge request approvals', js: true, feature: true do
end
context 'when group is assigned to a project' do
it 'I am able to unapprove' do
end
it 'I am able to approve' do
create :approver_group, group: group, target: project
......@@ -176,6 +178,9 @@ feature 'Merge request approvals', js: true, feature: true do
end
context 'when group is assigned to a merge request' do
it 'I am able to unapprove' do
end
it 'I am able to approve' do
create :approver_group, group: group, target: merge_request
......
/* eslint-disable */
//= require jquery
//= require vue
//= require issuable_time_tracker
((gl) => {
describe('Merge Request Approvals API', function() {
describe('Unapprove', function() {
method is defined
calls update state
});
describe('Approve', function() {
method is defined
calls update state
});
describe('Fetch', function() {
method is defined
calls update state
});
});
})(window.gl || (window.gl = {}));
/* eslint-disable */
//= require jquery
//= require vue
//= require issuable_time_tracker
function initComponent(time_estimate = 100000, time_spent = 5000) {
fixture.set(`
<div>
<div id="mock-container"></div>
</div>
`);
this.initialdata = {
time_estimate,
time_spent
};
this.timetracker = new gl.issuabletimetracker({
el: '#mock-container',
propsdata: this.initialdata
});
}
vkkkj
((gl) => {
describe('Merge Request Approvals UI', function() {
describe('Initialization', function() {
describe('Approval Body', function() {
component is truthy
container is rendered
});
describe('Approval Footer', function() {
component is truthy
container is rendered
});
describe('Message Bus', function() {
instance is truthy
has correct children as components
});
});
describe('Approval Body Component', function() {
computed values
click handlers
display based on flags
});
describe('Approval Footer Component', function() {
computed values
click handlers
display based on flags
});
describe('Component Communication', function() {
approve changes other component
unapprove changes other component
both change the parent
});
});
})(window.gl || (window.gl = {}));
/* eslint-disable */
//= require jquery
//= require vue
//= require issuable_time_tracker
function initComponent(time_estimate = 100000, time_spent = 5000) {
fixture.set(`
<div>
<div id="mock-container"></div>
</div>
`);
this.initialdata = {
time_estimate,
time_spent
};
this.timetracker = new gl.issuabletimetracker({
el: '#mock-container',
propsdata: this.initialdata
});
}
vkkkj
((gl) => {
describe('Merge Request Approvals UI', function() {
describe('Initialization', function() {
describe('Approval Body', function() {
component is truthy
container is rendered
});
describe('Approval Footer', function() {
component is truthy
container is rendered
});
describe('Message Bus', function() {
instance is truthy
has correct children as components
});
});
describe('Approval Body Component', function() {
computed values
click handlers
display based on flags
});
describe('Approval Footer Component', function() {
computed values
click handlers
display based on flags
});
describe('Component Communication', function() {
approve changes other component
unapprove changes other component
both change the parent
});
});
})(window.gl || (window.gl = {}));
/* eslint-disable */
//= require jquery
//= require vue
//= require issuable_time_tracker
((gl) => {
describe('Font Awesome Icon Component', function() {
describe('Initialization', function() {
is defined
has containing elements
configuration, including computed values and special config
loading state
});
describe('Invalid input', function() {
defaults applied or errors thrown
});
describe('Icons Rendered', function() {
single icon Rendered
multiple icons rendererd
});
});
})(window.gl || (window.gl = {}));
/* eslint-disable */
//= require jquery
//= require vue
//= require issuable_time_tracker
((gl) => {
describe('Link To Members Components', function() {
describe('Initialization', function() {
is defined
has containing elements
configuration, including computed values and special config
loading state
});
describe('Invalid input', function() {
defaults applied or errors thrown
});
describe('Tooltip', function() {
hover state
display based on flags
});
describe('Avatar', function() {
avatarurl vs empty state vs gravatar
});
describe('Interaction', function() {
click link and handler fires
});
});
})(window.gl || (window.gl = {}));
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment