add tests

This commit is contained in:
2026-03-07 06:07:15 +07:00
parent 3612805009
commit 795edad998
4 changed files with 133 additions and 6 deletions
@@ -0,0 +1,102 @@
package story_service_test
import (
"evening_detective/internal/modules/cleaner"
"evening_detective/internal/modules/formatter"
"evening_detective/internal/services/story_service"
"evening_detective/internal/services/story_storage"
"testing"
"github.com/stretchr/testify/assert"
)
func TestStoryService_GetPlace(t *testing.T) {
tests := []struct {
name string
story *story_service.Story
code string
want *story_service.Place
}{
{
name: "не корректный ввода",
story: &story_service.Story{},
code: "[Ы]",
want: &story_service.Place{
Code: "[Ы]",
Name: "Не найдено",
Text: "Уважаемые детективы внимательно прочитайте правила.",
},
},
{
name: "точка не найдена",
story: &story_service.Story{},
code: "Ы",
want: &story_service.Place{
Code: "Ы",
Name: "Не найдено",
Text: "Такой точки не существует.",
},
},
{
name: "получение точки",
story: &story_service.Story{
Places: []*story_service.Place{
{
Code: "Ы",
Name: "Название",
Text: "Текст",
},
},
},
code: "Ы",
want: &story_service.Place{
Code: "Ы",
Name: "Название",
Text: "Текст",
Applications: []*story_service.Application{},
},
},
{
name: "получение точки с приложением",
story: &story_service.Story{
Places: []*story_service.Place{
{
Code: "Ы",
Name: "Название",
Text: "Текст",
Applications: []*story_service.Application{
{
Name: "Приложение",
},
},
},
},
},
code: "Ы",
want: &story_service.Place{
Code: "Ы",
Name: "Название",
Text: "Текст",
Applications: []*story_service.Application{
{
Name: "Приложение",
},
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
s, err := story_service.NewStoryService(
cleaner.NewCleaner(),
formatter.NewFormatter(),
story_storage.NewVarStoryStorage(tt.story),
)
if err != nil {
t.Fatalf("could not construct receiver type: %v", err)
}
got := s.GetPlace(tt.code)
assert.Equal(t, got, tt.want)
})
}
}