Skip to content

Commit

Permalink
Update JUnit and Spock Feature
Browse files Browse the repository at this point in the history
  • Loading branch information
puneetbehl committed Jul 18, 2023
1 parent a6ddddf commit ff24e33
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,18 @@

import io.micronaut.core.annotation.NonNull;
import jakarta.inject.Singleton;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.application.generator.GeneratorContext;
import org.grails.forge.build.dependencies.Dependency;
import org.grails.forge.feature.DefaultFeature;
import org.grails.forge.feature.Feature;
import org.grails.forge.options.Options;
import org.grails.forge.options.TestFramework;

import java.util.Set;

@Singleton
public class Junit implements TestFeature {
public class Junit implements TestFeature, DefaultFeature {

@Override
public String getTitle() {
Expand Down Expand Up @@ -54,4 +60,8 @@ public TestFramework getTestFramework() {
return TestFramework.JUNIT;
}

@Override
public boolean shouldApply(ApplicationType applicationType, Options options, Set<Feature> selectedFeatures) {
return options.getTestFramework() == TestFramework.JUNIT;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public boolean supports(ApplicationType applicationType) {

@Override
public String getCategory() {
return Category.DEV_TOOLS;
return Category.VALIDATION;
}

@Override
Expand All @@ -61,7 +61,7 @@ public String getThirdPartyDocumentation() {

@Override
public boolean shouldApply(ApplicationType applicationType, Options options, Set<Feature> selectedFeatures) {
return true;
return selectedFeatures.stream().anyMatch(f -> f instanceof TestFeature);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,18 @@
package org.grails.forge.feature.test;

import jakarta.inject.Singleton;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.application.generator.GeneratorContext;
import org.grails.forge.build.dependencies.Dependency;
import org.grails.forge.feature.DefaultFeature;
import org.grails.forge.feature.Feature;
import org.grails.forge.options.Options;
import org.grails.forge.options.TestFramework;

import java.util.Set;

@Singleton
public class Spock implements TestFeature {
public class Spock implements TestFeature, DefaultFeature {

@Override
public String getName() {
Expand All @@ -42,4 +48,8 @@ public TestFramework getTestFramework() {
return TestFramework.SPOCK;
}

@Override
public boolean shouldApply(ApplicationType applicationType, Options options, Set<Feature> selectedFeatures) {
return options.getTestFramework() == null || options.getTestFramework() == TestFramework.SPOCK;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,17 @@

import org.grails.forge.application.ApplicationType;
import org.grails.forge.application.generator.GeneratorContext;
import org.grails.forge.feature.DefaultFeature;
import org.grails.forge.feature.Feature;
import org.grails.forge.feature.Category;
import org.grails.forge.feature.FeaturePhase;
import org.grails.forge.options.Options;
import org.grails.forge.feature.OneOfFeature;
import org.grails.forge.options.TestFramework;

import java.util.Set;
public interface TestFeature extends OneOfFeature {

public interface TestFeature extends DefaultFeature {
@Override
default Class<?> getFeatureClass() {
return TestFeature.class;
}

@Override
default boolean isVisible() {
Expand All @@ -37,6 +39,11 @@ default int getOrder() {
return FeaturePhase.TEST.getOrder();
}

@Override
default String getCategory() {
return Category.VALIDATION;
}

@Override
default void apply(GeneratorContext generatorContext) {
doApply(generatorContext);
Expand All @@ -54,17 +61,6 @@ default boolean isSpock() {
return getTestFramework() == TestFramework.SPOCK;
}

@Override
default boolean shouldApply(ApplicationType applicationType,
Options options,
Set<Feature> selectedFeatures) {
TestFramework selectedTest = options.getTestFramework();
if (selectedTest == null) {
selectedTest = options.getLanguage().getDefaults().getTest();
}
return supports(applicationType) && selectedTest == getTestFramework();
}

@Override
default boolean supports(ApplicationType applicationType) {
return true;
Expand Down

0 comments on commit ff24e33

Please sign in to comment.