Skip to content

Commit

Permalink
Merge pull request #125 from kalarani-tw/issue-114-default-package
Browse files Browse the repository at this point in the history
Improve automated test coverage #114 - Add test for classes in default package
  • Loading branch information
MarkEWaite authored Oct 30, 2022
2 parents d08bdb0 + f36f4bc commit 828d0c2
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package org.jenkinsci.plugins.badge;

import hudson.model.Action;
import hudson.model.Job;
import org.hamcrest.core.Is;
import org.jenkinsci.plugins.badge.actions.JobBadgeAction;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

import java.io.IOException;
import java.util.Collection;

import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.*;

class JobBadgeActionFactoryTest {

private JobBadgeActionFactory factory;

@BeforeEach
void setUp() throws IOException {
factory = new JobBadgeActionFactory();
}

@Test
void shouldCreateJobBadgeAction() {
Collection<? extends Action> action = factory.createFor(Mockito.mock(Job.class));
assertThat(action.size(), is(1));
assertThat(action.stream().findFirst().get(), instanceOf(JobBadgeAction.class));
}

@Test
void shouldBeForJobType() {
assertThat(factory.type(), is(Job.class));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.jenkinsci.plugins.badge;

import hudson.model.Actionable;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import org.mockito.Mockito;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;

class ParameterResolverTest {
@ParameterizedTest
@CsvSource({
"Build ${params.BUILD_BRANCH},Build params.BUILD_BRANCH",
"Build ${params.BUILD_BRANCH|master},Build params.BUILD_BRANCH|master",
"Build ${params.BUILD_BRANCH|master} (${displayName}),Build params.BUILD_BRANCH|master (displayName)"
})
void shouldResolveSubjectWithVariables(String queryParameter, String expectedParameter) {
String resolvedParameter = new ParameterResolver().resolve(Mockito.mock(Actionable.class), queryParameter);
assertThat(resolvedParameter, is(expectedParameter));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package org.jenkinsci.plugins.badge;

import hudson.model.Action;
import hudson.model.Job;
import hudson.model.Run;
import org.jenkinsci.plugins.badge.actions.JobBadgeAction;
import org.jenkinsci.plugins.badge.actions.RunBadgeAction;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

import java.io.IOException;
import java.util.Collection;

import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;

class RunBadgeActionFactoryTest {

private RunBadgeActionFactory factory;

@BeforeEach
void setUp() throws IOException {
factory = new RunBadgeActionFactory();
}

@Test
void shouldCreateJobBadgeAction() {
Collection<? extends Action> action = factory.createFor(Mockito.mock(Run.class));
assertThat(action.size(), is(1));
assertThat(action.stream().findFirst().get(), instanceOf(RunBadgeAction.class));
}

@Test
void shouldBeForJobType() {
assertThat(factory.type(), is(Run.class));
}
}

0 comments on commit 828d0c2

Please sign in to comment.