generated from VLADIMIR/template
156 lines
3.5 KiB
Go
156 lines
3.5 KiB
Go
package services
|
||
|
||
import (
|
||
"evening_detective/internal/models"
|
||
"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 TestServices_getPlaces(t *testing.T) {
|
||
tests := []struct {
|
||
name string
|
||
story *story_service.Story
|
||
actions []*models.Action
|
||
want []*story_service.Place
|
||
}{
|
||
// {
|
||
// name: "Нельзя открыть скрытую точку",
|
||
// story: &story_service.Story{
|
||
// Places: []*story_service.Place{
|
||
// {
|
||
// Code: "Ы",
|
||
// Name: "Название",
|
||
// Text: "Текст",
|
||
// Hidden: true,
|
||
// },
|
||
// },
|
||
// },
|
||
// actions: []*models.Action{
|
||
// {
|
||
// Place: "Ы",
|
||
// },
|
||
// },
|
||
// want: []*story_service.Place{
|
||
// {
|
||
// Code: "Ы",
|
||
// Name: "Не найдено",
|
||
// Text: "Такой точки не существует.",
|
||
// },
|
||
// },
|
||
// },
|
||
// {
|
||
// name: "Нельзя открыть скрытую точку",
|
||
// story: &story_service.Story{
|
||
// Places: []*story_service.Place{
|
||
// {
|
||
// Code: "Ы-1",
|
||
// Name: "Название",
|
||
// Text: "Текст",
|
||
// },
|
||
// {
|
||
// Code: "Ы-2",
|
||
// Name: "Название",
|
||
// Text: "Текст",
|
||
// Hidden: true,
|
||
// },
|
||
// },
|
||
// },
|
||
// actions: []*models.Action{
|
||
// {
|
||
// Place: "Ы-1",
|
||
// },
|
||
// {
|
||
// Place: "Ы-2",
|
||
// },
|
||
// },
|
||
// want: []*story_service.Place{
|
||
// {
|
||
// Code: "Ы-1",
|
||
// Name: "Название",
|
||
// Text: "Текст",
|
||
// Applications: []*story_service.Application{},
|
||
// },
|
||
// {
|
||
// Code: "Ы-2",
|
||
// Name: "Не найдено",
|
||
// Text: "Такой точки не существует.",
|
||
// },
|
||
// },
|
||
// },
|
||
{
|
||
name: "Нельзя открыть скрытую точку",
|
||
story: &story_service.Story{
|
||
Places: []*story_service.Place{
|
||
{
|
||
Code: "Ы-1",
|
||
Name: "Название",
|
||
Text: "Текст",
|
||
Applications: []*story_service.Application{},
|
||
Doors: []*story_service.Door{
|
||
{
|
||
Code: "Ы-2",
|
||
Name: "Название",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
Code: "Ы-2",
|
||
Name: "Название",
|
||
Text: "Текст",
|
||
Applications: []*story_service.Application{},
|
||
Hidden: true,
|
||
},
|
||
},
|
||
},
|
||
actions: []*models.Action{
|
||
{
|
||
Place: "Ы-1",
|
||
},
|
||
{
|
||
Place: "Ы-2",
|
||
},
|
||
},
|
||
want: []*story_service.Place{
|
||
{
|
||
Code: "Ы-1",
|
||
Name: "Название",
|
||
Text: "Текст",
|
||
Applications: []*story_service.Application{},
|
||
Doors: []*story_service.Door{
|
||
{
|
||
Code: "Ы-2",
|
||
Name: "Название",
|
||
},
|
||
},
|
||
},
|
||
{
|
||
Code: "Ы-2",
|
||
Name: "Название",
|
||
Text: "Текст",
|
||
Applications: []*story_service.Application{},
|
||
Hidden: true,
|
||
},
|
||
},
|
||
},
|
||
}
|
||
for _, tt := range tests {
|
||
t.Run(tt.name, func(t *testing.T) {
|
||
storyService, err := story_service.NewStoryService(
|
||
cleaner.NewCleaner(),
|
||
formatter.NewFormatter(),
|
||
story_storage.NewVarStoryStorage(tt.story),
|
||
)
|
||
assert.Nil(t, err)
|
||
|
||
s := NewServices(nil, storyService, nil, nil, nil, "")
|
||
got := s.getPlaces(tt.actions)
|
||
assert.Equal(t, got, tt.want)
|
||
})
|
||
}
|
||
}
|