Files
houston-be/service/severity/impl/severity_service_test.go
Vijay Joshi 55da2b4791 INFRA-3570 : Do not show the current severity and status in update incident in slack UI (#439)
* INFRA-3570 : Do not show same severity and status in update incident in slack UI

* INFRA-3570 : Cyclic dependency fix

* INFRA-3570 : Minor changes

* INFRA-3570 : Add UT'S

* INFRA-3570 : Major refactor

* INFRA-3570 : Move all incident status repo functions to new service

* INFRA-3570 : Add UT's
2024-07-18 13:17:28 +05:30

72 lines
2.5 KiB
Go

package impl
import (
"errors"
"github.com/stretchr/testify/suite"
"houston/logger"
"houston/mocks"
"houston/model/severity"
"testing"
)
type SeverityServiceSuite struct {
suite.Suite
severityRepository *mocks.ISeverityRepositoryMock
severityService *SeverityService
}
func (suite *SeverityServiceSuite) Test_GetAllActiveSeverities_RepoFailureCase() {
suite.severityRepository.GetAllActiveSeverityMock.Return(nil, errors.New("error"))
severities, err := suite.severityService.GetAllActiveSeverities()
suite.Nil(severities, "severities should be nil")
suite.EqualError(err, "error", "error should be error")
}
func (suite *SeverityServiceSuite) Test_GetAllActiveSeverities_SuccessCase() {
mockSeverityEntities := GetMockSeverityEntities()
suite.severityRepository.GetAllActiveSeverityMock.Return(mockSeverityEntities, nil)
severities, err := suite.severityService.GetAllActiveSeverities()
suite.Nil(err, "error should be nil")
suite.NotNil(severities, "severities should not be nil")
suite.Len(severities, len(*mockSeverityEntities), "length of severities should be equal")
}
func (suite *SeverityServiceSuite) Test_GetSeveritiesNotMatchingIncidentSeverity_RepoFailureCase() {
suite.severityRepository.GetSeveritiesNotMatchingIncidentSeverityMock.Return(nil, errors.New("error"))
severities, err := suite.severityService.GetSeveritiesNotMatchingIncidentSeverity("channelID")
suite.Nil(severities, "severities should be nil")
suite.NotNil(err, "error should not be nil")
}
func (suite *SeverityServiceSuite) Test_GetSeveritiesNotMatchingIncidentSeverity_SuccessCase() {
mockSeverityEntities := *GetMockSeverityEntities()
suite.severityRepository.GetSeveritiesNotMatchingIncidentSeverityMock.Return(mockSeverityEntities, nil)
severities, err := suite.severityService.GetSeveritiesNotMatchingIncidentSeverity("channelID")
suite.Nil(err, "error should be nil")
suite.NotNil(severities, "severities should not be nil")
suite.Len(severities, len(mockSeverityEntities), "length of severities should be equal")
}
func GetMockSeverityEntities() *[]severity.SeverityEntity {
return &[]severity.SeverityEntity{
{Name: "Low", Description: "Low severity"},
{Name: "Medium", Description: "Medium severity"},
{Name: "High", Description: "High severity"},
}
}
func (suite *SeverityServiceSuite) SetupSuite() {
logger.InitLogger()
suite.severityRepository = mocks.NewISeverityRepositoryMock(suite.T())
suite.severityService = NewSeverityService(suite.severityRepository)
}
func TestSeverityService(t *testing.T) {
suite.Run(t, new(SeverityServiceSuite))
}